diff --git a/connector_magento/AUTHORS b/connector_magento/AUTHORS new file mode 100644 index 000000000..b3b351f22 --- /dev/null +++ b/connector_magento/AUTHORS @@ -0,0 +1,25 @@ +Last update: Fri May 1 19:37:00 CET 2021 + +* Guewen Baconnier at Camptocamp +* Alexandre Fayolle at Camptocamp +* Joel Grand-Guillaume at Camptocamp +* Sebastien Beau at Akretion +* Benoit Guillot at Akretion +* Chafique Delli at Akretion +* David Beal at Akretion +* Brendan Clune at Logic Supply +* Allison Miller at Logic Supply +* Augustin Cisterne-Kaas at Elico Corp +* Alexis de Lattre at Akretion (tiny change) +* Olivier Distexhe at Akilon (tiny change) +* Romain Deheele at Camptocamp +* Thomas Rehn at initOS +* Katja Matthes at initOS +* Markus Schneider at initOS +* Jan-Philipp Fischer at greencoding +* Ondřej Kuzník at credativ +* Matthieu Dietrich at Camptocamp +* Florian da Costa at Akretion +* Alberto Garcia at Factor Libre +* Sébastien Alix at Camptocamp +* Stefan Rijnhart at Opener B.V. diff --git a/connector_magento/README.rst b/connector_magento/README.rst new file mode 100644 index 000000000..ba9fdda3d --- /dev/null +++ b/connector_magento/README.rst @@ -0,0 +1,131 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +================= +Magento Connector +================= + +This is the new release of the Open-Source connector linking Odoo and +Magento also known under the name of **Magentoerpconnect**. It is +build on top of the `connector`_ framework. It is structured so that +it can be extended or modified easily from separate addons, a factor of +success when the implementations of Magento vary a lot. + +Magento Odoo Connector is part of the Odoo Community Association (OCA). +The `source is on GitHub`_. + +This connector is designed to have a strong and efficient core, with the +ability to extend it with extension modules or local customizations. + +In other words, the core module contains the minimal scope to run your +e-commerce with Odoo and Magento. More advanced features are +installable using extensions. + +It features: + +Synchronizations: + +* Import the partners and addresses book +* Import the customer groups (becomes partner tags) +* Import the categories of products, with translations +* Import the products, with translations and main image +* Import the sales orders +* Export of the the stock quantities, + with configuration of the warehouse and an option to choose the stock + field to use +* Export the delivery orders status +* Export the tracking numbers +* Create the invoices on Magento and get their number back +* Resolve and import the dependencies when they are not yet imported + (ie. customer, products for sale order) + +Automatizations: + +* Use the `Automatic workflows` to automatize the workflow of the sales + according to the payment method (confirm orders, create and reconcile + payments, ...) +* Per payment method, choose when the orders are imported + (only when a payment is captured / authorized / always / never) +* Use the `Sales Exceptions` to prevents the processing of sales orders + with issues + +Technical points: + +* Built on top of the `connector`_ framework +* Use the `connector_ecommerce`_ addon to share the e-commerce capabilities + with other e-commerce addons +* Use the jobs system of the `connector`_ framework +* Create `connector`_ checkpoints when new records to verify are imported +* Support Magento 1.7+ and 2.x, the support of earlier versions should be easy to + add, the `connector`_ framework being designed to handle multiple + versions with ease. +* Licensed under AGPL version 3 +* Designed to be usable with multiple Magento or any other e-commerce backends + in the same time. + + +.. _connector: https://github.com/OCA/connector +.. _connector_ecommerce: https://github.com/OCA/connector-ecommerce +.. _`source is on GitHub`: https://github.com/OCA/connector-magento + +Installation +============ + +To install this module, you need to: + +Read the full installation guide: +http://odoo-magento-connector.com/guides/installation_guide.html + +Configuration and usage +======================= + +Read +http://odoo-magento-connector.com/guides/installation_guide.html#after-the-installation + +Usage +===== +#. Go to ... + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/107/9.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +See `contributors' list`_ + + +.. _contributors' list: ./AUTHORS + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/connector_magento/__init__.py b/connector_magento/__init__.py new file mode 100644 index 000000000..c4b4935ef --- /dev/null +++ b/connector_magento/__init__.py @@ -0,0 +1,7 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import components +from . import models +from . import wizards diff --git a/connector_magento/__manifest__.py b/connector_magento/__manifest__.py new file mode 100644 index 000000000..b0bd07f81 --- /dev/null +++ b/connector_magento/__manifest__.py @@ -0,0 +1,45 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{'name': 'Magento Connector', + 'version': '11.0.1.1.0', + 'category': 'Connector', + 'depends': ['account', + 'base_technical_user', + 'product', + 'delivery', + 'sale_stock', + 'product_multi_category', + 'connector_ecommerce', + ], + 'external_dependencies': { + 'python': ['magento'], + }, + 'author': "Camptocamp,Akretion,Sodexis,Odoo Community Association (OCA)", + 'license': 'AGPL-3', + 'website': 'http://www.odoo-magento-connector.com', + 'images': ['images/magento_backend.png', + 'images/jobs.png', + 'images/product_binding.png', + 'images/invoice_binding.png', + 'images/connector_magento.png', + ], + 'data': ['data/connector_magento_data.xml', + 'data/res_partner_category.xml', + 'security/ir.model.access.csv', + 'views/magento_backend_views.xml', + 'views/product_views.xml', + 'views/product_category_views.xml', + 'views/partner_views.xml', + 'views/invoice_views.xml', + 'views/sale_order_views.xml', + 'views/connector_magento_menu.xml', + 'views/delivery_views.xml', + 'views/stock_views.xml', + 'views/account_payment_mode_views.xml', + 'wizards/magento_binding_backend_read.xml', + ], + 'installable': True, + 'application': False, + } diff --git a/connector_magento/components/__init__.py b/connector_magento/components/__init__.py new file mode 100644 index 000000000..09cd4d98f --- /dev/null +++ b/connector_magento/components/__init__.py @@ -0,0 +1,8 @@ +from . import core +from . import backend_adapter +from . import binder +from . import importer +from . import exporter +from . import mapper +from . import deleter +from . import line_builder diff --git a/connector_magento/components/backend_adapter.py b/connector_magento/components/backend_adapter.py new file mode 100644 index 000000000..bc8c78de4 --- /dev/null +++ b/connector_magento/components/backend_adapter.py @@ -0,0 +1,406 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import socket +import logging +import requests +from urllib.parse import quote_plus +import xmlrpc.client + +from odoo.addons.component.core import AbstractComponent +from odoo.addons.queue_job.exception import RetryableJobError +from odoo.addons.connector.exception import NetworkRetryableError +from datetime import datetime + +_logger = logging.getLogger(__name__) + +try: + import magento as magentolib +except ImportError: + _logger.debug("Cannot import 'magento'") + + +MAGENTO_DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S' + + +class MagentoLocation(object): + + def __init__(self, location, username, password, token, version, + verify_ssl, use_custom_api_path=False): + self._location = location + self.username = username + self.password = password + self.token = token + self.verify_ssl = verify_ssl + self.version = version + self.use_custom_api_path = use_custom_api_path + + self.use_auth_basic = False + self.auth_basic_username = None + self.auth_basic_password = None + self.user_agent = None + + @property + def location(self): + location = self._location + if not self.use_auth_basic: + return location + assert self.auth_basic_username and self.auth_basic_password + replacement = "%s:%s@" % (self.auth_basic_username, + self.auth_basic_password) + location = location.replace('://', '://' + replacement) + return location + + +class Magento2Client(object): + + def __init__(self, url, token, verify_ssl=True, use_custom_api_path=False, + user_agent=None): + if not use_custom_api_path: + url += '/' if not url.endswith('/') else '' + url += 'index.php/rest/V1' + self._url = url + self._token = token + self._verify_ssl = verify_ssl + self.user_agent = user_agent + + def call(self, resource_path, arguments, http_method=None, + storeview=None, headers=None): + if resource_path is None: + _logger.exception('Magento2 REST API called without resource path') + raise NotImplementedError + url = '%s/%s' % (self._url, resource_path) + if storeview: + # https://github.com/magento/magento2/issues/3864 + url = url.replace('/rest/V1/', '/rest/%s/V1/' % storeview) + if http_method is None: + http_method = 'get' + function = getattr(requests, http_method) + base_headers = { + 'Authorization': 'Bearer %s' % self._token, + } + if self.user_agent: + base_headers.update({ + 'User-Agent': self.user_agent, + }) + if headers: + base_headers.update(headers) + kwargs = {'headers': base_headers} + if http_method == 'get': + kwargs['params'] = arguments + elif arguments is not None: + kwargs['json'] = arguments + res = function(url, **kwargs) + if (res.status_code == 400 and res._content): + raise requests.HTTPError( + url, res.status_code, res._content, headers, __name__) + res.raise_for_status() + return res.json() + + +class MagentoAPI(object): + + def __init__(self, location): + """ + :param location: Magento location + :type location: :class:`MagentoLocation` + """ + self._location = location + self._api = None + + @property + def api(self): + if self._api is None: + if self._location.version == '1.7': + api = magentolib.API( + self._location.location, + self._location.username, + self._location.password, + full_url=self._location.use_custom_api_path + ) + api.__enter__() + else: + api = Magento2Client( + self._location.location, + self._location.token, + self._location.verify_ssl, + use_custom_api_path=self._location.use_custom_api_path, + user_agent=self._location.user_agent, + ) + self._api = api + return self._api + + def api_call(self, method, arguments, http_method=None, storeview=None): + """ Adjust available arguments per API """ + if isinstance(self.api, magentolib.API): + return self.api.call(method, arguments) + return self.api.call(method, arguments, http_method=http_method, + storeview=storeview) + + def __enter__(self): + # we do nothing, api is lazy + return self + + def __exit__(self, exc_type, exc_value, traceback): + if self._api is not None and hasattr(self._api, '__exit__'): + self._api.__exit__(exc_type, exc_value, traceback) + + def call(self, method, arguments, http_method=None, storeview=None): + try: + # When Magento is installed on PHP 5.4+, the API + # may return garble data if the arguments contain + # trailing None. + if isinstance(arguments, list): + while arguments and arguments[-1] is None: + arguments.pop() + start = datetime.now() + try: + result = self.api_call( + method, arguments, http_method=http_method, + storeview=storeview) + except Exception: + _logger.error("api.call('%s', %s) failed", method, arguments) + raise + else: + _logger.debug("api.call('%s', %s) returned %s in %s seconds", + method, arguments, result, + (datetime.now() - start).seconds) + # Uncomment to record requests/responses in ``recorder`` + # record(method, arguments, result) + return result + except (socket.gaierror, socket.error, socket.timeout) as err: + raise NetworkRetryableError( + 'A network error caused the failure of the job: ' + '%s' % err) + except xmlrpc.client.ProtocolError as err: + if err.errcode in [502, # Bad gateway + 503, # Service unavailable + 504]: # Gateway timeout + raise RetryableJobError( + 'A protocol error caused the failure of the job:\n' + 'URL: %s\n' + 'HTTP/HTTPS headers: %s\n' + 'Error code: %d\n' + 'Error message: %s\n' % + (err.url, err.headers, err.errcode, err.errmsg)) + else: + raise + + +class MagentoCRUDAdapter(AbstractComponent): + """ External Records Adapter for Magento """ + # pylint: disable=method-required-super + + _name = 'magento.crud.adapter' + _inherit = ['base.backend.adapter', 'base.magento.connector'] + _usage = 'backend.adapter' + + def search(self, filters=None): + """ Search records according to some criterias + and returns a list of ids """ + raise NotImplementedError + + def read(self, external_id, attributes=None, storeview=None): + """ Returns the information of a record """ + raise NotImplementedError + + def search_read(self, filters=None): + """ Search records according to some criterias + and returns their information""" + raise NotImplementedError + + def create(self, data): + """ Create a record on the external system """ + raise NotImplementedError + + def write(self, external_id, data): + """ Update records on the external system """ + raise NotImplementedError + + def delete(self, external_id): + """ Delete a record on the external system """ + raise NotImplementedError + + def _call(self, method, arguments=None, + http_method=None, storeview=None): + try: + magento_api = getattr(self.work, 'magento_api') + except AttributeError: + raise AttributeError( + 'You must provide a magento_api attribute with a ' + 'MagentoAPI instance to be able to use the ' + 'Backend Adapter.' + ) + return magento_api.call( + method, arguments, http_method=http_method, storeview=storeview) + + +class GenericAdapter(AbstractComponent): + # pylint: disable=method-required-super + + _name = 'magento.adapter' + _inherit = 'magento.crud.adapter' + + _magento_model = None + _magento2_model = None + _magento2_search = None + _magento2_key = None + _admin_path = None + _admin2_path = None + + @staticmethod + def get_searchCriteria(filters): + """ Craft Magento 2.0 searchCriteria from filters, for example: + 'searchCriteria[filter_groups][0][filters][0][field]': 'website_id', + 'searchCriteria[filter_groups][0][filters][0][value]': '1,2', + 'searchCriteria[filter_groups][0][filters][0][condition_type]': 'in', + + Presumably, filter_groups are joined with AND, while filters in the + same group are joined with OR (not supported here). + """ + filters = filters or {} + res = {} + count = 0 + expr = 'searchCriteria[filter_groups][%s][filters][0][%s]' + # http://devdocs.magento.com/guides/v2.0/howdoi/webapi/\ + # search-criteria.html + operators = [ + 'eq', 'finset', 'from', 'gt', 'gteq', 'in', 'like', 'lt', + 'lteq', 'moreq', 'neq', 'nin', 'notnull', 'null', 'to'] + for field in filters.keys(): + for op in filters[field].keys(): + assert op in operators + value = filters[field][op] + if isinstance(value, (list, set)): + value = ','.join(value) + res.update({ + expr % (count, 'field'): field, + expr % (count, 'condition_type'): op, + expr % (count, 'value'): value, + }) + count += 1 + _logger.debug('searchCriteria %s from %s', res, filters) + return res if res else {'searchCriteria': ''} + + def search(self, filters=None): + """ Search records according to some criterias + and returns a list of unique identifiers + + In the case of Magento 2.x: query the resource to return the key field + for all records. Filter out the 0, which designates a magic value, + such as the global scope for websites, store groups and store views, or + the category for customers that have not yet logged in. + + /search APIs return a dictionary with a top level 'items' key. + Repository APIs return a list of items. + + :rtype: list + """ + if self.collection.version == '1.7': + return self._call('%s.search' % self._magento_model, + [filters] if filters else [{}]) + key = self._magento2_key or 'id' + params = {} + if self._magento2_search: + params['fields'] = 'items[%s]' % key + params.update(self.get_searchCriteria(filters)) + else: + params['fields'] = key + if filters: + raise NotImplementedError + res = self._call( + self._magento2_search or self._magento2_model, + params) + if 'items' in res: + res = res['items'] or [] + return [item[key] for item in res if item[key] != 0] + + @staticmethod + def escape(term): + if isinstance(term, str): + return quote_plus(term) + return term + + def read(self, external_id, attributes=None, storeview=None): + """ Returns the information of a record + + :rtype: dict + """ + if self.collection.version == '1.7': + arguments = [int(external_id)] + # Avoid to pass Null values in attributes. Workaround for + # https://bugs.launchpad.net/openerp-connector-magento/+bug/1210775 + # When Magento is installed on PHP 5.4 and the compatibility patch + # http://magento.com/blog/magento-news/magento-now-supports-php-54 + # is not installed, calling info() with None in attributes + # would return a wrong result (almost empty list of + # attributes). The right correction is to install the + # compatibility patch on Magento. + if attributes: + arguments.append(attributes) + return self._call('%s.info' % self._magento_model, + arguments, storeview=storeview) + + if attributes: + raise NotImplementedError + if self._magento2_key: + return self._call( + '%s/%s' % (self._magento2_model, self.escape(external_id)), + attributes, storeview=storeview) + res = self._call(self._magento2_model, None) + return next(record for record in res if record['id'] == external_id) + + def search_read(self, filters=None): + """ Search records according to some criterias + and returns their information""" + if self.collection.version == '1.7': + return self._call('%s.list' % self._magento_model, [filters]) + params = {} + if self._magento2_search: + params.update(self.get_searchCriteria(filters)) + else: + if filters: + raise NotImplementedError + return self._call( + self._magento2_search or self._magento2_model, params) + + def create(self, data): + """ Create a record on the external system """ + if self.collection.version == '1.7': + return self._call('%s.create' % self._magento_model, [data]) + raise NotImplementedError + + def write(self, external_id, data): + """ Update records on the external system """ + if self.collection.version == '1.7': + return self._call('%s.update' % self._magento_model, + [int(external_id), data]) + raise NotImplementedError + + def delete(self, external_id): + """ Delete a record on the external system """ + if self.collection.version == '1.7': + return self._call('%s.delete' % self._magento_model, + [int(external_id)]) + raise NotImplementedError + + def admin_url(self, external_id): + """ Return the URL in the Magento admin for a record """ + backend = self.backend_record + url = backend.admin_location + if not url: + raise ValueError('No admin URL configured on the backend.') + if hasattr(self.model, '_get_admin_path'): + admin_path = getattr(self.model, '_get_admin_path')( + backend, external_id) + else: + key = '_admin2_path' if backend.version == '2.0' else '_admin_path' + admin_path = getattr(self, key) + if admin_path is None: + raise ValueError('No admin path is defined for this record') + path = admin_path.format(model=self._magento_model, + id=external_id) + url = url.rstrip('/') + path = path.lstrip('/') + url = '/'.join((url, path)) + return url diff --git a/connector_magento/components/binder.py b/connector_magento/components/binder.py new file mode 100644 index 000000000..3fd7ac320 --- /dev/null +++ b/connector_magento/components/binder.py @@ -0,0 +1,32 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.addons.component.core import Component + + +class MagentoModelBinder(Component): + """ Bind records and give odoo/magento ids correspondence + + Binding models are models called ``magento.{normal_model}``, + like ``magento.res.partner`` or ``magento.product.product``. + They are ``_inherits`` of the normal models and contains + the Magento ID, the ID of the Magento Backend and the additional + fields belonging to the Magento instance. + """ + _name = 'magento.binder' + _inherit = ['base.binder', 'base.magento.connector'] + _apply_on = [ + 'magento.website', + 'magento.store', + 'magento.storeview', + 'magento.res.partner', + 'magento.address', + 'magento.res.partner.category', + 'magento.product.category', + 'magento.product.product', + 'magento.stock.picking', + 'magento.sale.order', + 'magento.sale.order.line', + 'magento.account.invoice', + ] diff --git a/connector_magento/components/core.py b/connector_magento/components/core.py new file mode 100644 index 000000000..49cf83719 --- /dev/null +++ b/connector_magento/components/core.py @@ -0,0 +1,15 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.addons.component.core import AbstractComponent + + +class BaseMagentoConnectorComponent(AbstractComponent): + """ Base Magento Connector Component + + All components of this connector should inherit from it. + """ + + _name = 'base.magento.connector' + _inherit = 'base.connector' + _collection = 'magento.backend' diff --git a/connector_magento/components/deleter.py b/connector_magento/components/deleter.py new file mode 100644 index 000000000..6bceaf014 --- /dev/null +++ b/connector_magento/components/deleter.py @@ -0,0 +1,20 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.tools.translate import _ +from odoo.addons.component.core import AbstractComponent + + +class MagentoDeleter(AbstractComponent): + """ Base deleter for Magento """ + _name = 'magento.exporter.deleter' + _inherit = 'base.deleter' + _usage = 'record.exporter.deleter' + + def run(self, external_id): + """ Run the synchronization, delete the record on Magento + + :param external_id: identifier of the record to delete + """ + self.backend_adapter.delete(external_id) + return _('Record %s deleted on Magento') % (external_id,) diff --git a/connector_magento/components/exporter.py b/connector_magento/components/exporter.py new file mode 100644 index 000000000..87152be41 --- /dev/null +++ b/connector_magento/components/exporter.py @@ -0,0 +1,371 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +from contextlib import contextmanager +from datetime import datetime + +import psycopg2 + +import odoo +from odoo import _ +from odoo.addons.component.core import AbstractComponent +from odoo.addons.connector.exception import (IDMissingInBackend, + RetryableJobError) +from .backend_adapter import MAGENTO_DATETIME_FORMAT + +_logger = logging.getLogger(__name__) + + +""" + +Exporters for Magento. + +In addition to its export job, an exporter has to: + +* check in Magento if the record has been updated more recently than the + last sync date and if yes, delay an import +* call the ``bind`` method of the binder to update the last sync date + +""" + + +class MagentoBaseExporter(AbstractComponent): + """ Base exporter for Magento """ + + _name = 'magento.base.exporter' + _inherit = ['base.exporter', 'base.magento.connector'] + _usage = 'record.exporter' + + def __init__(self, working_context): + super(MagentoBaseExporter, self).__init__(working_context) + self.binding = None + self.external_id = None + + def _delay_import(self): + """ Schedule an import of the record. + + Adapt in the sub-classes when the model is not imported + using ``import_record``. + """ + # force is True because the sync_date will be more recent + # so the import would be skipped + assert self.external_id + self.binding.with_delay().import_record(self.backend_record, + self.external_id, + force=True) + + def _should_import(self): + """ Before the export, compare the update date + in Magento and the last sync date in Odoo, + if the former is more recent, schedule an import + to not miss changes done in Magento. + """ + assert self.binding + if not self.external_id: + return False + sync = self.binding.sync_date + if not sync: + return True + record = self.backend_adapter.read(self.external_id, + attributes=['updated_at']) + if not record['updated_at']: + # in rare case it can be empty, in doubt, import it + return True + sync_date = odoo.fields.Datetime.from_string(sync) + magento_date = datetime.strptime(record['updated_at'], + MAGENTO_DATETIME_FORMAT) + return sync_date < magento_date + + def run(self, binding, *args, **kwargs): + """ Run the synchronization + + :param binding: binding record to export + """ + self.binding = binding + + self.external_id = self.binder.to_external(self.binding) + try: + should_import = self._should_import() + except IDMissingInBackend: + self.external_id = None + should_import = False + if should_import: + self._delay_import() + + result = self._run(*args, **kwargs) + + self.binder.bind(self.external_id, self.binding) + # Commit so we keep the external ID when there are several + # exports (due to dependencies) and one of them fails. + # The commit will also release the lock acquired on the binding + # record + if not odoo.tools.config['test_enable']: + # pylint: disable=invalid-commit + self.env.cr.commit() # noqa + + self._after_export() + return result + + def _run(self): + """ Flow of the synchronization, implemented in inherited classes""" + raise NotImplementedError + + def _after_export(self): + """ Can do several actions after exporting a record on magento """ + pass + + +class MagentoExporter(AbstractComponent): + """ A common flow for the exports to Magento """ + + _name = 'magento.exporter' + _inherit = 'magento.base.exporter' + + def __init__(self, working_context): + super(MagentoExporter, self).__init__(working_context) + self.binding = None + + def _lock(self): + """ Lock the binding record. + + Lock the binding record so we are sure that only one export + job is running for this record if concurrent jobs have to export the + same record. + + When concurrent jobs try to export the same record, the first one + will lock and proceed, the others will fail to lock and will be + retried later. + + This behavior works also when the export becomes multilevel + with :meth:`_export_dependencies`. Each level will set its own lock + on the binding record it has to export. + + """ + sql = ("SELECT id FROM %s WHERE ID = %%s FOR UPDATE NOWAIT" % + self.model._table) + try: + self.env.cr.execute(sql, (self.binding.id, ), + log_exceptions=False) + except psycopg2.OperationalError: + _logger.info('A concurrent job is already exporting the same ' + 'record (%s with id %s). Job delayed later.', + self.model._name, self.binding.id) + raise RetryableJobError( + 'A concurrent job is already exporting the same record ' + '(%s with id %s). The job will be retried later.' % + (self.model._name, self.binding.id)) + + def _has_to_skip(self): + """ Return True if the export can be skipped """ + return False + + @contextmanager + def _retry_unique_violation(self): + """ Context manager: catch Unique constraint error and retry the + job later. + + When we execute several jobs workers concurrently, it happens + that 2 jobs are creating the same record at the same time (binding + record created by :meth:`_export_dependency`), resulting in: + + IntegrityError: duplicate key value violates unique + constraint "magento_product_product_odoo_uniq" + DETAIL: Key (backend_id, odoo_id)=(1, 4851) already exists. + + In that case, we'll retry the import just later. + + .. warning:: The unique constraint must be created on the + binding record to prevent 2 bindings to be created + for the same Magento record. + + """ + try: + yield + except psycopg2.IntegrityError as err: + if err.pgcode == psycopg2.errorcodes.UNIQUE_VIOLATION: + raise RetryableJobError( + 'A database error caused the failure of the job:\n' + '%s\n\n' + 'Likely due to 2 concurrent jobs wanting to create ' + 'the same record. The job will be retried later.' % err) + else: + raise + + def _export_dependency(self, relation, binding_model, + component_usage='record.exporter', + binding_field='magento_bind_ids', + binding_extra_vals=None): + """ + Export a dependency. The exporter class is a subclass of + ``MagentoExporter``. If a more precise class need to be defined, + it can be passed to the ``exporter_class`` keyword argument. + + .. warning:: a commit is done at the end of the export of each + dependency. The reason for that is that we pushed a record + on the backend and we absolutely have to keep its ID. + + So you *must* take care not to modify the Odoo + database during an export, excepted when writing + back the external ID or eventually to store + external data that we have to keep on this side. + + You should call this method only at the beginning + of the exporter synchronization, + in :meth:`~._export_dependencies`. + + :param relation: record to export if not already exported + :type relation: :py:class:`odoo.models.BaseModel` + :param binding_model: name of the binding model for the relation + :type binding_model: str | unicode + :param component_usage: 'usage' to look for to find the Component to + for the export, by default 'record.exporter' + :type exporter: str | unicode + :param binding_field: name of the one2many field on a normal + record that points to the binding record + (default: magento_bind_ids). + It is used only when the relation is not + a binding but is a normal record. + :type binding_field: str | unicode + :binding_extra_vals: In case we want to create a new binding + pass extra values for this binding + :type binding_extra_vals: dict + """ + if not relation: + return + rel_binder = self.binder_for(binding_model) + # wrap is typically True if the relation is for instance a + # 'product.product' record but the binding model is + # 'magento.product.product' + wrap = relation._name != binding_model + + if wrap and hasattr(relation, binding_field): + domain = [('odoo_id', '=', relation.id), + ('backend_id', '=', self.backend_record.id)] + binding = self.env[binding_model].search(domain) + if binding: + assert len(binding) == 1, ( + 'only 1 binding for a backend is ' + 'supported in _export_dependency') + # we are working with a unwrapped record (e.g. + # product.category) and the binding does not exist yet. + # Example: I created a product.product and its binding + # magento.product.product and we are exporting it, but we need to + # create the binding for the product.category on which it + # depends. + else: + bind_values = {'backend_id': self.backend_record.id, + 'odoo_id': relation.id} + if binding_extra_vals: + bind_values.update(binding_extra_vals) + # If 2 jobs create it at the same time, retry + # one later. A unique constraint (backend_id, + # odoo_id) should exist on the binding model + with self._retry_unique_violation(): + binding = (self.env[binding_model] + .with_context(connector_no_export=True) + .sudo() + .create(bind_values)) + # Eager commit to avoid having 2 jobs + # exporting at the same time. The constraint + # will pop if an other job already created + # the same binding. It will be caught and + # raise a RetryableJobError. + if not odoo.tools.config['test_enable']: + # pylint: disable=invalid-commit + self.env.cr.commit() # noqa + else: + # If magento_bind_ids does not exist we are typically in a + # "direct" binding (the binding record is the same record). + # If wrap is True, relation is already a binding record. + binding = relation + + if not rel_binder.to_external(binding): + exporter = self.component(usage=component_usage, + model_name=binding_model) + exporter.run(binding) + + def _export_dependencies(self): + """ Export the dependencies for the record""" + return + + def _map_data(self): + """ Returns an instance of + :py:class:`~odoo.addons.connector.components.mapper.MapRecord` + + """ + return self.mapper.map_record(self.binding) + + def _validate_create_data(self, data): + """ Check if the values to import are correct + + Pro-actively check before the ``Model.create`` if some fields + are missing or invalid + + Raise `InvalidDataError` + """ + return + + def _validate_update_data(self, data): + """ Check if the values to import are correct + + Pro-actively check before the ``Model.update`` if some fields + are missing or invalid + + Raise `InvalidDataError` + """ + return + + def _create_data(self, map_record, fields=None, **kwargs): + """ Get the data to pass to :py:meth:`_create` """ + return map_record.values(for_create=True, fields=fields, **kwargs) + + def _create(self, data): + """ Create the Magento record """ + # special check on data before export + self._validate_create_data(data) + return self.backend_adapter.create(data) + + def _update_data(self, map_record, fields=None, **kwargs): + """ Get the data to pass to :py:meth:`_update` """ + return map_record.values(fields=fields, **kwargs) + + def _update(self, data): + """ Update an Magento record """ + assert self.external_id + # special check on data before export + self._validate_update_data(data) + self.backend_adapter.write(self.external_id, data) + + def _run(self, fields=None): + """ Flow of the synchronization, implemented in inherited classes""" + assert self.binding + + if not self.external_id: + fields = None # should be created with all the fields + + if self._has_to_skip(): + return + + # export the missing linked resources + self._export_dependencies() + + # prevent other jobs to export the same record + # will be released on commit (or rollback) + self._lock() + + map_record = self._map_data() + + if self.external_id: + record = self._update_data(map_record, fields=fields) + if not record: + return _('Nothing to export.') + self._update(record) + else: + record = self._create_data(map_record, fields=fields) + if not record: + return _('Nothing to export.') + self.external_id = self._create(record) + return _('Record exported with ID %s on Magento.') % self.external_id diff --git a/connector_magento/components/importer.py b/connector_magento/components/importer.py new file mode 100644 index 000000000..7b27639f4 --- /dev/null +++ b/connector_magento/components/importer.py @@ -0,0 +1,333 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +""" + +Importers for Magento. + +An import can be skipped if the last sync date is more recent than +the last update in Magento. + +They should call the ``bind`` method if the binder even if the records +are already bound, to update the last sync date. + +""" + +import logging +from odoo import fields, _ +from odoo.addons.component.core import AbstractComponent, Component +from odoo.addons.connector.exception import IDMissingInBackend +from odoo.addons.queue_job.exception import NothingToDoJob + +_logger = logging.getLogger(__name__) + + +class MagentoImporter(AbstractComponent): + """ Base importer for Magento """ + + _name = 'magento.importer' + _inherit = ['base.importer', 'base.magento.connector'] + _usage = 'record.importer' + + def __init__(self, work_context): + super(MagentoImporter, self).__init__(work_context) + self.external_id = None + self.magento_record = None + + def _get_magento_data(self): + """ Return the raw Magento data for ``self.external_id`` """ + return self.backend_adapter.read(self.external_id) + + def _before_import(self): + """ Hook called before the import, when we have the Magento + data""" + + def _is_uptodate(self, binding): + """Return True if the import should be skipped because + it is already up-to-date in OpenERP""" + assert self.magento_record + if not self.magento_record.get('updated_at'): + return # no update date on Magento, always import it. + if not binding: + return # it does not exist so it should not be skipped + sync = binding.sync_date + if not sync: + return + from_string = fields.Datetime.from_string + sync_date = from_string(sync) + magento_date = from_string(self.magento_record['updated_at']) + # if the last synchronization date is greater than the last + # update in magento, we skip the import. + # Important: at the beginning of the exporters flows, we have to + # check if the magento_date is more recent than the sync_date + # and if so, schedule a new import. If we don't do that, we'll + # miss changes done in Magento + return magento_date < sync_date + + def _import_dependency(self, external_id, binding_model, + importer=None, always=False): + """ Import a dependency. + + The importer class is a class or subclass of + :class:`MagentoImporter`. A specific class can be defined. + + :param external_id: id of the related binding to import + :param binding_model: name of the binding model for the relation + :type binding_model: str | unicode + :param importer_component: component to use for import + By default: 'importer' + :type importer_component: Component + :param always: if True, the record is updated even if it already + exists, note that it is still skipped if it has + not been modified on Magento since the last + update. When False, it will import it only when + it does not yet exist. + :type always: boolean + """ + if not external_id: + return + binder = self.binder_for(binding_model) + if always or not binder.to_internal(external_id): + if importer is None: + importer = self.component(usage='record.importer', + model_name=binding_model) + try: + importer.run(external_id) + except NothingToDoJob: + _logger.info( + 'Dependency import of %s(%s) has been ignored.', + binding_model._name, external_id + ) + + def _import_dependencies(self): + """ Import the dependencies for the record + + Import of dependencies can be done manually or by calling + :meth:`_import_dependency` for each dependency. + """ + return + + def _map_data(self): + """ Returns an instance of + :py:class:`~odoo.addons.connector.components.mapper.MapRecord` + + """ + return self.mapper.map_record(self.magento_record) + + def _validate_data(self, data): + """ Check if the values to import are correct + + Pro-actively check before the ``_create`` or + ``_update`` if some fields are missing or invalid. + + Raise `InvalidDataError` + """ + return + + def _must_skip(self): + """ Hook called right after we read the data from the backend. + + If the method returns a message giving a reason for the + skipping, the import will be interrupted and the message + recorded in the job (if the import is called directly by the + job, not by dependencies). + + If it returns None, the import will continue normally. + + :returns: None | str | unicode + """ + return + + def _get_binding(self): + return self.binder.to_internal(self.external_id) + + def _create_data(self, map_record, **kwargs): + return map_record.values(for_create=True, **kwargs) + + def _create(self, data): + """ Create the OpenERP record """ + # special check on data before import + self._validate_data(data) + model = self.model.with_context(connector_no_export=True) + binding = model.create(data) + _logger.debug('%d created from magento %s', binding, self.external_id) + return binding + + def _update_data(self, map_record, **kwargs): + return map_record.values(**kwargs) + + def _update(self, binding, data): + """ Update an OpenERP record """ + # special check on data before import + self._validate_data(data) + binding.with_context(connector_no_export=True).write(data) + _logger.debug('%d updated from magento %s', binding, self.external_id) + return + + def _after_import(self, binding): + """ Hook called at the end of the import """ + return + + def run(self, external_id, force=False, data=None): + """ Run the synchronization + + :param external_id: identifier of the record on Magento + """ + self.external_id = external_id + lock_name = 'import({}, {}, {}, {})'.format( + self.backend_record._name, + self.backend_record.id, + self.work.model_name, + external_id, + ) + + if data: + self.magento_record = data + else: + try: + self.magento_record = self._get_magento_data() + except IDMissingInBackend: + return _('Record does no longer exist in Magento') + + skip = self._must_skip() # pylint: disable=assignment-from-none + if skip: + return skip + + binding = self._get_binding() + + if not force and self._is_uptodate(binding): + return _('Already up-to-date.') + + # Keep a lock on this import until the transaction is committed + # The lock is kept since we have detected that the informations + # will be updated into Odoo + self.advisory_lock_or_retry(lock_name) + self._before_import() + + # import the missing linked resources + self._import_dependencies() + + map_record = self._map_data() + + if binding: + record = self._update_data(map_record) + self._update(binding, record) + else: + record = self._create_data(map_record) + binding = self._create(record) + + self.binder.bind(self.external_id, binding) + + self._after_import(binding) + + +class BatchImporter(AbstractComponent): + """ The role of a BatchImporter is to search for a list of + items to import, then it can either import them directly or delay + the import of each item separately. + """ + + _name = 'magento.batch.importer' + _inherit = ['base.importer', 'base.magento.connector'] + _usage = 'batch.importer' + + def run(self, filters=None): + """ Run the synchronization """ + record_ids = self.backend_adapter.search(filters) + for record_id in record_ids: + self._import_record(record_id) + + def _import_record(self, external_id): + """ Import a record directly or delay the import of the record. + + Method to implement in sub-classes. + """ + raise NotImplementedError + + +class DirectBatchImporter(AbstractComponent): + """ Import the records directly, without delaying the jobs. """ + + _name = 'magento.direct.batch.importer' + _inherit = 'magento.batch.importer' + + def _import_record(self, external_id): + """ Import the record directly """ + self.model.import_record(self.backend_record, external_id) + + +class DelayedBatchImporter(AbstractComponent): + """ Delay import of the records """ + + _name = 'magento.delayed.batch.importer' + _inherit = 'magento.batch.importer' + + def _import_record(self, external_id, job_options=None, **kwargs): + """ Delay the import of the records""" + delayable = self.model.with_delay(**job_options or {}) + delayable.import_record(self.backend_record, external_id, **kwargs) + + +class SimpleRecordImporter(Component): + """ Import one Magento Website """ + + _name = 'magento.simple.record.importer' + _inherit = 'magento.importer' + _apply_on = [ + 'magento.res.partner.category', + ] + + +class TranslationImporter(Component): + """ Import translations for a record. + + Usually called from importers, in ``_after_import``. + For instance from the products and products' categories importers. + """ + + _name = 'magento.translation.importer' + _inherit = 'magento.importer' + _usage = 'translation.importer' + + def _get_magento_data(self, storeview=None): + """ Return the raw Magento data for ``self.external_id`` """ + if storeview is None: + storeview_id = None + elif self.collection.version == '2.0': + storeview_id = storeview.code + else: + storeview_id = storeview.id + return self.backend_adapter.read(self.external_id, storeview_id) + + def run(self, external_id, binding, mapper=None): + self.external_id = external_id + default_lang = self.backend_record.default_lang_id + storeviews = self.env['magento.storeview'].search( + [('backend_id', '=', self.backend_record.id), + ('lang_id', '!=', False), ('lang_id', '!=', default_lang.id)]) + if not storeviews: + return + lang2storeview = dict( + (storeview.lang_id, storeview) for storeview in storeviews) + + # find the translatable fields of the model + fields = self.model.fields_get() + translatable_fields = [field for field, attrs in list(fields.items()) + if attrs.get('translate')] + + if mapper is None: + mapper = self.mapper + else: + mapper = self.component_by_name(mapper) + + for storeview in lang2storeview.values(): + lang_record = self._get_magento_data(storeview) + map_record = mapper.map_record(lang_record) + record = map_record.values() + + data = dict((field, value) for field, value in list(record.items()) + if field in translatable_fields) + + binding.with_context(connector_no_export=True, + lang=storeview.lang_id.code).write(data) diff --git a/connector_magento/components/line_builder.py b/connector_magento/components/line_builder.py new file mode 100644 index 000000000..b7f422938 --- /dev/null +++ b/connector_magento/components/line_builder.py @@ -0,0 +1,40 @@ +# © 2017 Hibou Corp. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +""" + +Line Builders for Magento psudo-payment methods (Store Credit, Rewards...). + +""" + +from odoo.addons.component.core import Component + + +class StoreCreditLineBuilder(Component): + """ Return values for a Store Credit line """ + + _name = 'magento.order.line.builder.store_credit' + _inherit = 'ecommerce.order.line.builder' + _usage = 'order.line.builder.magento.store_credit' + + def __init__(self, work_context): + super(StoreCreditLineBuilder, self).__init__(work_context) + self.product_ref = ('connector_magento', + 'product_product_store_credit') + self.sign = -1 + self.sequence = 991 + + +class RewardsLineBuilder(Component): + """ Return values for a Rewards line """ + + _name = 'magento.order.line.builder.rewards' + _inherit = 'ecommerce.order.line.builder' + _usage = 'order.line.builder.magento.rewards' + + def __init__(self, work_context): + super(RewardsLineBuilder, self).__init__(work_context) + self.product_ref = ('connector_magento', + 'product_product_rewards') + self.sign = -1 + self.sequence = 992 diff --git a/connector_magento/components/mapper.py b/connector_magento/components/mapper.py new file mode 100644 index 000000000..4b387aa95 --- /dev/null +++ b/connector_magento/components/mapper.py @@ -0,0 +1,29 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.addons.component.core import AbstractComponent + + +class MagentoImportMapper(AbstractComponent): + _name = 'magento.import.mapper' + _inherit = ['base.magento.connector', 'base.import.mapper'] + _usage = 'import.mapper' + + +class MagentoExportMapper(AbstractComponent): + _name = 'magento.export.mapper' + _inherit = ['base.magento.connector', 'base.export.mapper'] + _usage = 'export.mapper' + + +def normalize_datetime(field): + """Change a invalid date which comes from Magento, if + no real date is set to null for correct import to + OpenERP""" + + def modifier(self, record, to_attr): + if record[field] == '0000-00-00 00:00:00': + return None + return record[field] + return modifier diff --git a/connector_magento/data/connector_magento_data.xml b/connector_magento/data/connector_magento_data.xml new file mode 100644 index 000000000..7ca6461ab --- /dev/null +++ b/connector_magento/data/connector_magento_data.xml @@ -0,0 +1,140 @@ + + + + + 3 + + + + Magento - Import Sales Orders + + + 1 + days + -1 + + + code + model._scheduler_import_sale_orders() + + + + Magento - Import Customer Groups + + + 1 + days + -1 + + + code + model._scheduler_import_customer_groups() + + + + Magento - Import Partners + + + 1 + days + -1 + + + code + model._scheduler_import_partners() + + + + Magento - Import Product Categories + + + 1 + days + -1 + + + code + model._scheduler_import_product_categories() + + + + Magento - Import Products + + + 1 + days + -1 + + + code + model._scheduler_import_product_product() + + + + Magento - Update Stock Quantities + + + 1 + hours + -1 + + + code + model._scheduler_update_product_stock_qty() + + + + Total Amount differs from Magento + The amount computed in Odoo doesn't match with the amount in Magento. + +Cause: +The taxes are probably different between Odoo and Magento. A fiscal position could have changed the final price. + +Resolution: +Check your taxes and fiscal positions configuration and correct them if necessary. + 30 + sale.order + sale + if sale.magento_bind_ids and abs(sale.amount_total - sale.magento_bind_ids[0].total_amount) >= 0.01: + failed = True + + + + + Total Tax Amount differs from Magento + The tax amount computed in Odoo doesn't match with the tax amount in Magento. + +Cause: +The taxes are probably different between Odoo and Magento. A fiscal position could have changed the final price. + +Resolution: +Check your taxes and fiscal positions configuration and correct them if necessary. + 30 + sale.order + sale + # By default, a cent of difference for the tax amount is allowed, feel free to customise it in your own module +if sale.magento_bind_ids and abs(sale.amount_tax - sale.magento_bind_ids[0].total_amount_tax) > 0.01: + failed = True + + + + + MAGENTO STORE CREDIT + 0.0 + 0.0 + service + Magento Store Credit + + + + + MAGENTO REWARDS + 0.0 + 0.0 + service + Magento Rewards + + + + + diff --git a/connector_magento/data/res_partner_category.xml b/connector_magento/data/res_partner_category.xml new file mode 100644 index 000000000..b49a2b27f --- /dev/null +++ b/connector_magento/data/res_partner_category.xml @@ -0,0 +1,6 @@ + + + + Magento guest users + + diff --git a/connector_magento/doc/Makefile b/connector_magento/doc/Makefile new file mode 100644 index 000000000..58156b0cf --- /dev/null +++ b/connector_magento/doc/Makefile @@ -0,0 +1,153 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Connectors.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Connectors.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/Connectors" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Connectors" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/connector_magento/doc/_static/img/LogicSupply_Orange_260x80_transparent.png b/connector_magento/doc/_static/img/LogicSupply_Orange_260x80_transparent.png new file mode 100644 index 000000000..046f4ee83 Binary files /dev/null and b/connector_magento/doc/_static/img/LogicSupply_Orange_260x80_transparent.png differ diff --git a/connector_magento/doc/_static/img/akretion_logo.png b/connector_magento/doc/_static/img/akretion_logo.png new file mode 100644 index 000000000..6b298965d Binary files /dev/null and b/connector_magento/doc/_static/img/akretion_logo.png differ diff --git a/connector_magento/doc/_static/img/c2c_square_baseline_192.jpg b/connector_magento/doc/_static/img/c2c_square_baseline_192.jpg new file mode 100644 index 000000000..1b3d6b620 Binary files /dev/null and b/connector_magento/doc/_static/img/c2c_square_baseline_192.jpg differ diff --git a/connector_magento/doc/_static/img/logo-debonix.jpg b/connector_magento/doc/_static/img/logo-debonix.jpg new file mode 100644 index 000000000..9986555d3 Binary files /dev/null and b/connector_magento/doc/_static/img/logo-debonix.jpg differ diff --git a/connector_magento/doc/_static/img/sync-workflow.png b/connector_magento/doc/_static/img/sync-workflow.png new file mode 100644 index 000000000..92552d845 Binary files /dev/null and b/connector_magento/doc/_static/img/sync-workflow.png differ diff --git a/connector_magento/doc/_templates/layout.html b/connector_magento/doc/_templates/layout.html new file mode 100644 index 000000000..f1870d8bd --- /dev/null +++ b/connector_magento/doc/_templates/layout.html @@ -0,0 +1,15 @@ +{% extends "!layout.html" %} + +{%- block extrahead %} +{{ super() }} + +{% endblock %} diff --git a/connector_magento/doc/_themes/.gitignore b/connector_magento/doc/_themes/.gitignore new file mode 100644 index 000000000..66b6e4c2f --- /dev/null +++ b/connector_magento/doc/_themes/.gitignore @@ -0,0 +1,3 @@ +*.pyc +*.pyo +.DS_Store diff --git a/connector_magento/doc/api/api_components.rst b/connector_magento/doc/api/api_components.rst new file mode 100644 index 000000000..6bf0b70de --- /dev/null +++ b/connector_magento/doc/api/api_components.rst @@ -0,0 +1,77 @@ +.. _api-component: + +########## +Components +########## + +Components are the blocks allowing to build a flexible and +well decoupled code. They are based on the ``component`` addon and the base +components of the Connector. + +************** +Core Component +************** + +.. automodule:: odoo.addons.connector_magento.components.core + :members: + :undoc-members: + :show-inheritance: + :private-members: + +****************** +Magento Components +****************** + +Backend Adapter +=============== + +.. automodule:: odoo.addons.connector_magento.components.backend_adapter + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Binder +====== + +.. automodule:: odoo.addons.connector_magento.components.binder + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Deleter +======= + +.. automodule:: odoo.addons.connector_magento.components.deleter + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Exporter +======== + +.. automodule:: odoo.addons.connector_magento.components.exporter + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Importer +======== + +.. automodule:: odoo.addons.connector_magento.components.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Mapper +====== + +.. automodule:: odoo.addons.connector_magento.components.mapper + :members: + :undoc-members: + :show-inheritance: + :private-members: diff --git a/connector_magento/doc/api/api_exception.rst b/connector_magento/doc/api/api_exception.rst new file mode 100644 index 000000000..4c18274b4 --- /dev/null +++ b/connector_magento/doc/api/api_exception.rst @@ -0,0 +1,10 @@ +.. _api-exception: + +########## +Exceptions +########## + +.. automodule:: odoo.addons.connector_magento.exception + :members: + :undoc-members: + :show-inheritance: diff --git a/connector_magento/doc/api/api_models.rst b/connector_magento/doc/api/api_models.rst new file mode 100644 index 000000000..c4de2d523 --- /dev/null +++ b/connector_magento/doc/api/api_models.rst @@ -0,0 +1,222 @@ +.. _api-model: + +###### +Models +###### + +Implementation of the components per model. + +*********** +Base Models +*********** + +Magento Backend +=============== + +.. automodule:: odoo.addons.connector_magento.models.magento_backend.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.magento_backend.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Magento Website +=============== + +.. automodule:: odoo.addons.connector_magento.models.magento_website.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.magento_website.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Magento Store +============= + +.. automodule:: odoo.addons.connector_magento.models.magento_store.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.magento_store.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Magento Storeview +================= + +.. automodule:: odoo.addons.connector_magento.models.magento_storeview.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.magento_storeview.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Magento Binding +=============== + +.. automodule:: odoo.addons.connector_magento.models.magento_binding.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +Queue Job +========= + +.. automodule:: odoo.addons.connector_magento.models.queue_job.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +Payment Mode +============ + +.. automodule:: odoo.addons.connector_magento.models.account_payment_mode.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +Delivery Method +=============== + +.. automodule:: odoo.addons.connector_magento.models.delivery.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +******************* +Synchronized Models +******************* + +Invoice +======= + +.. automodule:: odoo.addons.connector_magento.models.account_invoice.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.account_invoice.exporter + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Partner +======= + +.. automodule:: odoo.addons.connector_magento.models.partner.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.partner.importer + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +Partner Category +================ + +.. automodule:: odoo.addons.connector_magento.models.partner_category.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.partner_category.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Product +======= + +.. automodule:: odoo.addons.connector_magento.models.product.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.product.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Product Category +================ + +.. automodule:: odoo.addons.connector_magento.models.product_category.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.product_category.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Sales Order +=========== + +.. automodule:: odoo.addons.connector_magento.models.sale_order.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.sale_order.importer + :members: + :undoc-members: + :show-inheritance: + :private-members: + +.. automodule:: odoo.addons.connector_magento.models.sale_order.exporter + :members: + :undoc-members: + :show-inheritance: + :private-members: + +Stock Picking +============= + +.. automodule:: odoo.addons.connector_magento.models.stock_picking.common + :show-inheritance: + :private-members: +.. :members: + :undoc-members: + +.. automodule:: odoo.addons.connector_magento.models.stock_picking.exporter + :members: + :undoc-members: + :show-inheritance: + :private-members: diff --git a/connector_magento/doc/conf.py b/connector_magento/doc/conf.py new file mode 100644 index 000000000..e691c3ae9 --- /dev/null +++ b/connector_magento/doc/conf.py @@ -0,0 +1,390 @@ +# -*- coding: utf-8 -*- +# +# Connectors documentation build configuration file, created by +# sphinx-quickstart on Mon Feb 4 11:35:44 2013. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + + +import ast +import sys +import os +import sphinx_bootstrap_theme + +sys.path.append(os.path.abspath('_themes')) + + +MANIFEST_FILES = [ + '__manifest__.py', + '__odoo__.py', + '__openerp__.py', +] + + +def is_module(path): + """return False if the path doesn't contain an odoo module, and the full + path to the module manifest otherwise""" + + if not os.path.isdir(path): + return False + files = os.listdir(path) + filtered = [x for x in files if x in (MANIFEST_FILES + ['__init__.py'])] + if len(filtered) == 2 and '__init__.py' in filtered: + return os.path.join( + path, next(x for x in filtered if x != '__init__.py')) + else: + return False + + +def is_installable_module(path): + """return False if the path doesn't contain an installable odoo module, + and the full path to the module manifest otherwise""" + manifest_path = is_module(path) + if manifest_path: + manifest = ast.literal_eval(open(manifest_path).read()) + if manifest.get('installable', True): + return manifest_path + return False + + +if os.environ.get('TRAVIS_BUILD_DIR') and os.environ.get('VERSION'): + # build from travis + repos_home = os.environ['HOME'] + deps_path = os.path.join(repos_home, 'dependencies') + odoo_folder = 'odoo-{}'.format(os.environ['VERSION']) + odoo_root = os.path.join(repos_home, odoo_folder) + build_path = os.environ['TRAVIS_BUILD_DIR'] +else: + # build from dev + odoo_root = os.path.abspath('../../../../src') + deps_path = os.path.abspath('../../..') + build_path = os.path.abspath('../..') + +addons_paths = [] + + +def add_path(*paths): + addons_paths.append( + os.path.join(*paths) + ) + + +add_path(odoo_root, 'odoo', 'addons') +add_path(odoo_root, 'addons') +add_path(build_path) + +deps_repos = [repo for repo in os.listdir(deps_path) + if os.path.isdir(os.path.join(deps_path, repo)) and + not repo.startswith('.')] + +for repo in deps_repos: + add_path(deps_path, repo) + +addons = [x for x in os.listdir(build_path) + if not x.startswith(('.', '__')) and + is_installable_module(x)] + +# sphinxodoo.ext.autodoc variables +sphinxodoo_root_path = odoo_root +sphinxodoo_addons = addons +sphinxodoo_addons_path = addons_paths +sys.path.append(build_path) + + +# -- General configuration -------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ['sphinx.ext.autodoc', + 'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.viewcode', + 'sphinxodoo.ext.autodoc', + ] + +todo_include_todos = False + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# autodoc options +autodoc_member_order = 'bysource' + +# The encoding of source files. +# source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = 'Odoo Magento Connector' +copyright = '2013-2015, Odoo Community Association (OCA)' + +# The version info for the project you're documenting, acts as +# replacement for |version| and |release|, also used in various other +# places throughout the built documents. +# +# The short X.Y version. +version = '' +# The full version, including alpha/beta/rc tags. +release = '' + +# The language for content autogenerated by Sphinx. Refer to +# documentation for a list of supported languages. +# language = None + +# There are two options for replacing |today|: either, you set today to +# some non-false value, then it is used: +# today = '' +# Else, today_fmt is used as the format for a strftime call. +# today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +# default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +# add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +# add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in +# the output. They are ignored by default. +# show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +# modindex_common_prefix = [] + + +# -- Options for HTML output ------------------------------------------ + +# The theme to use for HTML and HTML Help pages. See the documentation +# for a list of builtin themes. +html_theme = 'bootstrap' + +# Theme options are theme-specific and customize the look and feel of a +# theme further. For a list of options available for each theme, see +# the documentation. +html_theme_options = { + # Navigation bar title. (Default: ``project`` value) + 'navbar_title': "Odoo Magento Connector", + + # Tab name for entire site. (Default: "Site") + 'navbar_site_name': "Site", + + # Global TOC depth for "site" navbar tab. (Default: 1) + # Switching to -1 shows all levels. + 'globaltoc_depth': 2, + + # Include hidden TOCs in Site navbar? + # + # Note: If this is "false", you cannot have mixed ``:hidden:`` and + # non-hidden ``toctree`` directives in the same page, or else the + # build will break. + # + # Values: "true" (default) or "false" + 'globaltoc_includehidden': "true", + + # HTML navbar class (Default: "navbar") to attach to
element. + # For black navbar, do "navbar navbar-inverse" + 'navbar_class': "navbar", + + # Fix navigation bar to top of page? + # Values: "true" (default) or "false" + 'navbar_fixed_top': "true", + + # Location of link to source. + # Options are "nav" (default), "footer" or anything else to exclude. + 'source_link_position': "footer", + + # Bootswatch (http://bootswatch.com/) theme. + # + # Options are nothing with "" (default) or the name of a valid theme + # such as "amelia" or "cosmo". + # + # Note that this is served off CDN, so won't be available offline. + 'bootswatch_theme': "united", +} + +# Add any paths that contain custom themes here, relative to this +# directory. +html_theme_path = sphinx_bootstrap_theme.get_html_theme_path() + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +# html_title = None + +# A shorter title for the navigation bar. Default is the same as +# html_title. +# html_short_title = None + +# The name of an image file (relative to this directory) to place at the +# top of the sidebar. +# html_logo = None + +# The name of an image file (within the static path) to use as favicon +# of the docs. This file should be a Windows icon file (.ico) being +# 16x16 or 32x32 pixels large. +# html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) +# here, relative to this directory. They are copied after the builtin +# static files, so a file named "default.css" will overwrite the builtin +# "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page +# bottom, using the given strftime format. +# html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +# html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +# html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names +# to template names. +# html_additional_pages = {} + +# If false, no module index is generated. +# html_domain_indices = True + +# If false, no index is generated. +# html_use_index = True + +# If true, the index is split into individual pages for each letter. +# html_split_index = False + +# If true, links to the reST sources are added to the pages. +# html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default +# is True. +# html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is +# True. +# html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages +# will contain a tag referring to it. The value of this option +# must be the base URL from which the finished HTML is served. +# html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +# html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'odoo-magento-connector-doc' + + +# -- Options for LaTeX output ------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # 'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples (source +# start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'odoo-magento-connector.tex', + 'Odoo Magento Connector Documentation', + 'Odoo Community Association (OCA)', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the +# top of the title page. +# latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are +# parts, not chapters. +# latex_use_parts = False + +# If true, show page references after internal links. +# latex_show_pagerefs = False + +# If true, show URL addresses after external links. +# latex_show_urls = False + +# Documents to append as an appendix to all manuals. +# latex_appendices = [] + +# If false, no module index is generated. +# latex_domain_indices = True + + +# -- Options for manual page output ----------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'odoo-magento-connector', + 'Odoo Magento Connector Documentation', + ['Odoo Community Association (OCA)'], 1) +] + +# If true, show URL addresses after external links. +# man_show_urls = False + + +# -- Options for Texinfo output ---------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'Odoo Magento Connector', + 'Odoo Magento Connector Documentation', + 'Odoo Community Association (OCA)', 'Odoo Magento Connector', + 'Connector between Odoo and Magento', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +# texinfo_appendices = [] + +# If false, no module index is generated. +# texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +# texinfo_show_urls = 'footnote' + + +# Example configuration for intersphinx: refer to the Python standard +# library. +intersphinx_mapping = { + 'python': ('http://docs.python.org/2.7', None), + 'connector': ('http://www.odoo-connector.com', None), +} diff --git a/connector_magento/doc/core b/connector_magento/doc/core new file mode 100644 index 000000000..001ba3644 Binary files /dev/null and b/connector_magento/doc/core differ diff --git a/connector_magento/doc/guides/connector_checkpoint.rst b/connector_magento/doc/guides/connector_checkpoint.rst new file mode 100644 index 000000000..bd3923448 --- /dev/null +++ b/connector_magento/doc/guides/connector_checkpoint.rst @@ -0,0 +1,20 @@ +.. _connector-checkpoint: + + +############################## +Check the connector checkpoint +############################## + +Located at `Connectors > Connectors > Checkpoint`, +this is a list of records which have been imported +from Magento and have to be verified. + +Records such as products or product categories could +have some configuration to do once they are imported, +so they appear in that list. + +For each item in that list, +you can open the related record, +proceed with your configuration or verification, +and when you are done, +click on the `Reviewed` button. diff --git a/connector_magento/doc/guides/installation_guide.rst b/connector_magento/doc/guides/installation_guide.rst new file mode 100644 index 000000000..a6a1a863e --- /dev/null +++ b/connector_magento/doc/guides/installation_guide.rst @@ -0,0 +1,164 @@ +.. _installation-guide: + + +################## +Installation Guide +################## + + +************ +Installation +************ + +The installation steps assume that you already have a functioning Odoo server. + +If you are looking for a development environment, you may want to install the Connector using our +Docker workspace, head over :ref:`installation-dev-env`. + +For the manual installation, just stay there. + +Requirements on both servers +============================ + +The ``ntp`` package should be install on the servers hosting Magento and +Odoo to ensure a correct synchronization between them + +Odoo +==== + +Clone the repositories below in the path where you chosed to store the addons:: + + $ git clone git@github.com:OCA/queue.git -b 10.0 + $ git clone git@github.com:OCA/connector.git -b 10.0 + $ git clone git@github.com:OCA/connector-ecommerce.git -b 10.0 + $ git clone git@github.com:OCA/connector-magento.git -b 10.0 + $ git clone git@github.com:OCA/sale-workflow.git -b 10.0 + $ git clone git@github.com:OCA/partner-contact.git -b 10.0 + $ git clone git@github.com:OCA/product-attribute.git -b 10.0 + $ git clone git@github.com:OCA/bank-payment.git -b 10.0 + $ git clone git@github.com:OCA/server-tools.git -b 10.0 + +.. important:: Keep the git branches entire. Do not copy-paste the modules + in another directory. + +Add the branches in the addons path, either using the server command +line or adding them in the Odoo server configuration file. + +Example using the command line argument:: + + $ /path/to/odoo --addons-path /path/to/queue,/path/to/connector,/path/to/connector-ecommerce,/path/to/connector-magento,/path/to/e-commerce,/path/to/sale-workflow,/path/to/partner-contact,/path/to/product-attribute,/path/to/bank-payment,/path/to/server-tools + +You also need to install the ``magento`` Python package. +So install it with either pip or either easy_install (ideally in a virtualenv):: + + $ pip install magento + + $ easy_install magento + +Note that you may need to use the root rights on your system. + +In Odoo, update the modules list using `Settings > Modules > Update +Modules List`. + +Go to the menu `Settings > Modules > Installed Modules`, remove the +`Installed` filter and search for `Magento Connector`, then click on +`Install`. + + +Magento +======= + +For the time being, the Magento extension originally built by OpenLabs +is still used by the connector. But the version published on `Magento +Connect` is outdated. + +Download the following ``Bazaar`` branch and install it in Magento:: + + $ bzr branch lp:magentoerpconnect/magento-module-oerp6.x-stable magento-module + +In order to install it: + +1. Move the `Openlabs` folder in the + `magento_root/app/code/community`. +#. Move the file `app/etc/modules/Openlabs_OpenERPConnector.xml` in + `magento_root/app/etc/modules`. +#. Flush the Magento cache from the admin panel or by removing everything in + `magento_root/var/cache` + + +.. important:: This notice does not apply if you use a version of Magento above 1.7. + Please check if you have installed Magento 1.7 on PHP with a *5.4.x* version. + Magento 1.7 is **not compatible** with this version and would prevent the API to + behave normally. In that case, you must retrograde to PHP 5.3.x or apply the + patch provided by Magento (see http://magento.com/resources/system-requirements) + +Configuring the Magento web-services +==================================== + +1. In the Magento admin panel, go to `System > Web-Services > + SOAP/XML-RPC - Roles`. +#. Create a new role named `odoo` with access to `All` resources. +#. In `System > Web-Services > SOAP/XML-RPC - Users`, create a new user + named as you want, for instance `odoo_connector`, and an API key. + In `User Role`, choose the `odoo` role. + + +********************** +After the installation +********************** + +Once the addon is installed, you may want to: + +1. Read or read again :ref:`key-questions` + +#. Assign the `Connector Manager` group on your user. + +#. Create the Backend in `Connectors > Magento > Backend`, + use the role created in `Configuring the Magento web-services`_. + +#. Synchronize the initial metadata using the button `Synchronize Metadata` on the backend. + +#. Configure the translations if you use them: :ref:`configure-translations` + +#. Configure: :ref:`configure-emails` + +#. Configure: :ref:`configure-payment-modes` + +#. Configure: :ref:`configure-automatic-workflows` + +#. Configure: :ref:`configure-shipping-methods` + +#. Configure: :ref:`configure-warehouses` + +On the backend, + +#. Import the customer groups + +#. Optionally, import the partners, otherwise they + will be imported on the fly with the sales orders + +#. Import the product categories + +#. Configure the default values (accounting, ...) + of the new categories, using the :ref:`connector-checkpoint` + +#. Import the products + +#. Configure the new products (accounting, suppliers, stock rules, ...) + of the new products, using the :ref:`connector-checkpoint` + +#. Create an inventory for your products + +#. Update the stock quantities on Magento + +#. Import the sales orders + +#. Once you are all done and happy, configure the schedulers: :ref:`configure-schedulers` + + +**************** +On a daily basis +**************** + +* :ref:`connector-checkpoint` +* :ref:`monitor-resolve-jobs` diff --git a/connector_magento/doc/guides/key_questions.rst b/connector_magento/doc/guides/key_questions.rst new file mode 100644 index 000000000..1450a7dd3 --- /dev/null +++ b/connector_magento/doc/guides/key_questions.rst @@ -0,0 +1,269 @@ +.. _key-questions: + + +############################################### +Key questions when connecting Odoo with Magento +############################################### + +Installing a connector between Odoo and Magento +is not as simple as clicking on the 'Install' button +in the Odoo Apps. + +In the e-commerce domain, +there are many use cases +which are strongly domain-specific. +Every website has its own set of specific requirements. +As such, the connector cannot include all the +domain-specific requirements in a generic manner. + +This document lists the key questions +you have to answer when connecting your applications. +The questions link to the relevant part in the +documentation when it currently exists. +Some points have no response, +but are things you have to consider and think +before and meanwhile your setup. +You can also consider it as +a checklist for your implementation. + +************** +Sale workflows +************** + +Payment Modes +============= + +Are you going to use 'manual' payment types like check or invoices? + +Are you going to use 'automatic' payment types like bankcard, paypal, +...? + +Each method needs to be configured, follows: +:ref:`configure-payment-modes`. + +Automatic workflows +=================== + +For each `Payment Modes`_, +you will want to configure a different workflow, +for instance, +the sales orders of an automatic payment is automatically confirmed. + +More details on this configuration in +:ref:`configure-automatic-workflows`. + + +Exception rules +=============== + +Do you need to block a sale order according to some conditions? + +The connector adds this possibility, +it applies some rules, +for example, it blocks the sale order +if the total amount is different in Odoo and in Magento, +so that is a safe-guard against errors. + +You can add your own rules, see :ref:`configure-exception-rules`. + + +Support and Claims +================== + +How will you handle them? + +******* +Catalog +******* + +Master of data +============== + +Where should the data of the products be maintained and edited? + +Magento is the master of data: + Managing the catalog in Magento has the lowest impact on Odoo. + Much information stay only on Magento + (product attributes, images, links). + The categories of products are still imported in Odoo for + classification. + However 2 related informations will be updated in Odoo and + exported to Magento: + + * Available quantity in the stock + * Price of the products, based on the Odoo pricelists (optionally) + +Odoo is the master of data: + As of today, the handling of the catalog + in the connector has not been implemented + (it was in the version for Odoo 6.1). + It is in the :doc:`/project/roadmap` though. + +Types of products +================= + +Magento is able to handle many types of products: +simple, configurable, bundle, grouped, virtual, downloadable + +Custom options can also be added on the products. + +None all of theses types are supported by the connector. +All the product types are planned to be supported +(:doc:`/project/roadmap`). +But, as of today, only simple and configurable products are supported. +Using advanced types of products like bundle will need development, +wether it is generic or specific to your implementation + +The custom options would probably be part of a specific development. + + +******* +Pricing +******* + +Taxes included +============== + +When you input the prices of your products, +are the taxes included? + +Discounts +========= + +What kind of discount do you plan do use? +Odoo can't have such advanced discounts as Magento, +so try to keep the things simple here +if you do not want too much specific developments +in your implementation. + +Pricing +======= + +Do you plan to use multi-currency? + +Do you plan to have different prices per websites? +You will need to create different price lists in Odoo. + +********** +Accounting +********** + +Reconciliations +=============== + +The connector automatically reconcile the payments +and the invoices entries for the 'automatic' workflows. + +However, you will still need to reconcile the bank entries. + +You may want to use the reconciliation modules of the +`bank-statement-reconcile`_ project. +They are widely used in production and +are specifically designed for the e-commerce. + +.. _`bank-statement-reconcile`: https://github.com/OCA/bank-statement-reconcile + + +Fiscal Positions +================ + +Due to the limitations of the Magento API and the intrinsic difference +between Odoo and Magento, +the fiscal positions are not synchronized. +If you need to use fiscal positions, +you may want to use the module +`account_fiscal_position_rules` in the project +`account-fiscal-rule`_. + +Note that this configuration will be done +1 time in Magento and 1 time in Odoo. +But once the configuration is done, that works fine. + +.. _`account-fiscal-rule`: https://github.com/OCA/account-fiscal-rule + + +******************************* +Stock, availability, deliveries +******************************* + +Shipping methods +================ + +Which shipping methods will be available? + +Configure them using the :ref:`configure-shipping-methods`. + +Warehouses +========== + +How are you going to organize your warehouses, +do you have several of them? +If you have several Magento Stores, +do you have a warehouse per store +or do they share the same one? + +Keep in mind that Magento, +in a standard installation, +does not allow to have different stock quantities +on each store. + +Shipping +======== + +Do you send partial deliveries, or only complete ones? + +Replacement of products +======================= + +Do you sometimes replace products in the sales orders? +Are you going to modify the sales order on Magento, +or do you want to modify the delivery orders in Odoo? + +The latter choice could be complicated because Magento +does not allow to change products in delivery orders. + +We recommend to edit the sales orders in Magento, the connector +knows how to handle theses changes. + +Tracking and delivery labels +============================ + +Do you want tracking numbers on your deliveries? + +For the printing of your packets' labels, +are you going to use external software +or do you want to print them directly from Odoo? + +.. todo:: add a pointer to the modules, I don't have the url actually. + +Management of returned goods +============================ + +How will you manage the returned goods (RMA)? There is nothing out of the box. + + +********* +Technical +********* + +E-mails +======= + +Would you want to send e-mails from Magento or from Odoo? +Which transactional e-mails do you plan to send? + +Translations +============ + +Do you need translations for the descriptions of your products? + +The language must be configured on the Magento Storeviews in Odoo, +think about it before importing your whole catalog. + +Which fields to synchronize +=========================== + +Think about which fields you have in Magento and you need in Odoo. +You will maybe need to create a customization module +and add the mapping for the new fields, +see :ref:`add-custom-mappings` diff --git a/connector_magento/doc/guides/monitor_resolve_jobs.rst b/connector_magento/doc/guides/monitor_resolve_jobs.rst new file mode 100644 index 000000000..edd3a8993 --- /dev/null +++ b/connector_magento/doc/guides/monitor_resolve_jobs.rst @@ -0,0 +1,54 @@ +.. _monitor-resolve-jobs: + + +######################## +Monitor and resolve jobs +######################## + +Jobs are located in ``Queue > Jobs``. + +A job is a unit of work for a single synchronization action. +Jobs are executed by the 'Workers'. + +*** +Q&A +*** + +My jobs are not executed, why? +============================== + + +#. The jobs all have an ``eta`` (estimated time of arrival), so they + will be executed later. + +#. The :ref:`Job runner ` is not started or configured properly + + +A job is in state 'Failed', what should I do? +============================================= + +The job encountered a problem. +Display the details of the job, +a section displays information about the exception. + +The most comprehensible part of the error +is at the bottom of the error trace. +Sometimes, it proposes a resolution action. +Other times, you'll have to dive deeper to find the cause of the issue. +Anyway, once you think the issue should not happen anymore, +you can retry the job by clicking on ``Requeue``. + +.. danger:: At any time, you can use the button ``Set to 'Done'``. This + button will cancel the job. It should be used only if you + really, really know what you are doing, because you may miss + important synchronizations actions. + + +What happens if I shutdown the server when jobs are processing? +=============================================================== + +When jobs are interrupted, they won't commit any changes to the database +and will be restarted on the start of the Odoo server. + +Note that the actions performed on Magento by a job could of course not +be reverted, so they will be done 2 times. diff --git a/connector_magento/doc/guides/tutorial_customize.rst b/connector_magento/doc/guides/tutorial_customize.rst new file mode 100644 index 000000000..02066831f --- /dev/null +++ b/connector_magento/doc/guides/tutorial_customize.rst @@ -0,0 +1,269 @@ +.. _tutorial-customize: + + +################################# +Tutorial: customize the connector +################################# + +This tutorial will explain how you can customize several parts of the +connector in your own Odoo module. It assumes that you already have +some knowledge in the Odoo development. You can still refer to the +`official Odoo documentation`_. + +Reading the `Connector Framework`_ documentation is also a good idea. + + +.. contents:: Sections: + :local: + :backlinks: top + + +.. _official Odoo documentation: https://www.odoo.com/documentation/10.0/ +.. _Connector Framework: http://www.odoo-connector.com + +*************************************** +Bootstrap your own customization module +*************************************** + +You should never make changes in the official modules, instead, you need +to create your own module and apply your personalizations from there. + +As an example, throughout this tutorial, we'll create our own customization +module, we'll name it, in a very original manner, +``connector_magento_customize_example``. The final example module can be found +in the root of the ``connector-magento`` repository. + +Common Odoo files +================= + +A ``connector_magento`` customization module is like any Odoo module, +so you will first need to create the **manifest** +``connector_magento_customize_example/__manifest__.py``: + +.. literalinclude:: ../../../connector_magento_customize_example/__manifest__.py + :language: python + :lines: 5-15 + :emphasize-lines: 3-4 + +Nothing special but 2 things to note: + +* It depends from ``connector_magento``. +* The module category should preferably be ``Connector``. + +Of course, you also need to create the ``__init__.py`` file where you will +put the imports of your python modules. + + +Use it in Odoo +============== + +In the next chapter, we'll cover the most common personalization: +`Add mappings of fields`_. + + +.. _add-custom-mappings: + +********************** +Add mappings of fields +********************** + +The mappings of the fields define how the fields are related between Odoo and Magento. + +They defines whether field `A` should be written in field `B`, whether +it should be converted then written to `C` and `D`, etc. + +To be able to customize the mappings, you need to already have a +customization module. If that's not already done, you can go through the +previous chapter: `Bootstrap your own customization module`_. + +We'll see how to map new fields on the imports. + +A bit of theory +=============== + +The mappings of the fields are defined in "Mappers" components whcih class is +:py:class:`~connector.unit.mapper.Mapper`. + +.. note:: The connector almost never works with the Odoo Models + directly. Instead, it works with its own models, which + ``_inherits`` (note the final ``s``) the base models. For + instance, the Magento model for ``res.partner`` is + ``magento.res.partner``. That's why you'll see + ``magento.res.partner`` below. + + More details in `Magento Models`_. + +When you need to change the mappings, you'll need to dive in the +``connector_magento``'s code and locate the component which does this job for +your model. You won't change anything in this class, but you'll extend +it so you need to have a look on it. For example, the mapping for +``magento.res.partner`` in ``connector_magento`` is the following +(excerpt): + +.. code-block:: python + + class PartnerImportMapper(Component): + _name = 'magento.partner.import.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.res.partner' + + direct = [ + ('email', 'email'), + ('dob', 'birthday'), + (normalize_datetime('created_at'), 'created_at'), + (normalize_datetime('updated_at'), 'updated_at'), + ('email', 'emailid'), + ('taxvat', 'taxvat'), + ('group_id', 'group_id'), + ] + + @only_create + @mapping + def is_company(self, record): + # partners are companies so we can bind + # addresses on them + return {'is_company': True} + + @mapping + def names(self, record): + parts = [part for part in (record['firstname'], + record['middlename'], + record['lastname']) if part] + return {'name': ' '.join(parts)} + +Here we can see 2 types of mappings: + +* ``direct`` mappings, a field in Magento is directly written in the + Odoo field. The Magento field is on the left, the Odoo one is on + the right. +* methods decorated with ``@mapping``, when the mapping is more complex + and need to apply some logic. The name of the methods is meaningless. + They should return a ``dict`` with the field(s) to update and their + values. A ``None`` return value will be ignored. +* the ``record`` argument receives the Magento record. + +.. note:: This is not covered here, but for the export mapppers, an + additional decorator ``@changed_by()`` is used to filter the + mappings to apply according to the fields modified in Odoo. + + +Magento Models +============== + +As said in the previous section, the connector uses its own models +on top of the base ones. The connector's models are usually in the form +``magento.{model_name}``. + +Basically, a Magento Model is an ``_inherits`` from the base model, so +it knows all the original fields along with its own. Its own fields are +the ID of the record on Magento, the ``many2one`` relations to the +``magento.backend`` or to the ``magento.website`` and the attributes +which are peculiar to Magento. + +Example with an excerpt of the fields for ``magento.res.partner``: + +* ``odoo_id``: ``Many2one`` to the ``res.partner`` (``_inherits``) +* ``backend_id``: ``Many2one`` to the ``magento.backend`` model (Magento + Instance), for the partner this is a ``related`` because we already + have a link to the website, itself associated to a ``magento.backend``. +* ``website_id``: ``Many2one`` to the ``magento.website`` model +* ``external_id``: the ID of the customer on Magento +* ``group_id``: ``Many2one`` to the ``magento.res.partner.category``, + itself a Magento model for ``res.partner.category`` (Customer Groups) +* ``created_at``: created_at field from Magento +* ``taxvat``: taxvat field from Magento +* and all the fields from ``res.partner`` + +This datamodel allows to: + +* Share the same ``res.partner`` with several ``magento.website`` (or + even several ``magento.backend``) as we can have as many + ``magento.res.partner`` as we want on top of a ``res.partner``. +* The values can be different for each website or backend + + +.. note:: In the mappings, we'll write some fields on ``res.partner`` + (via ``_inherits``) and some on ``magento.res.partner``. When + we want to add a new field, we have to decide where to add it. + That's a matter of: does it make more sense do have this data + on the base model rather than on the Magento's one and should + this data be shared between all websites / backends? + +Examples +======== + +Example 1. +---------- + +I want to import the field ``created_in`` from customers. + +I add it on ``magento.res.partner`` because it doesn't make sense on +``res.partner``. + +For this field, the Magento API returns a string. I add it in +``connector_magento_customize_example/models/partner.py`` (I willingly skip the +part 'add them in the views'): + + +.. literalinclude:: ../../../connector_magento_customize_example/models/partner.py + :language: python + :lines: 7,14-18 + + +And I extend the partner's mapper: + +.. literalinclude:: ../../../connector_magento_customize_example/models/partner.py + :language: python + :lines: 8,34-41 + + +And that's it! The field will be imported along with the other fields. + + +Example 2. +---------- + +I want to import the ``gender`` field. This one is a bit special because +Magento maps 'Male' to ``123`` and 'Female' to ``124``. They are surely +the identifiers of the attributes in Magento, and there's maybe an entry +point in the API to get the proper values, but for the sake of the +example, we'll assume we can hard-code theses values in the mappings. + +This time, I will create the field in ``res.partner``, because the value +will likely be the same even if we have many ``magento.res.partner`` and +this information can be useful at this level. + +.. literalinclude:: ../../../connector_magento_customize_example/models/partner.py + :language: python + :lines: 7,20-29 + + +This is not a `direct` mapping, I will use a method to define the +``gender`` value: + +.. literalinclude:: ../../../connector_magento_customize_example/models/partner.py + :language: python + :lines: 8,9,34-36,42-46 + +The ``gender`` field will now be imported. + +******************** +Customizing importer +******************** + +Let's say we want to plug something at the end of the partner importer. + +We can do that with an inherit: + +.. literalinclude:: ../../../connector_magento_customize_example/models/partner.py + :language: python + :lines: 8,48-54 + + +******** +And now? +******** + +With theses principles, you should now be able to extend the original +mappings and add your own ones. This is applicable for the customers but +for any other model actually imported as well. diff --git a/connector_magento/doc/howto/configure_automatic_workflows.rst b/connector_magento/doc/howto/configure_automatic_workflows.rst new file mode 100644 index 000000000..278ad9861 --- /dev/null +++ b/connector_magento/doc/howto/configure_automatic_workflows.rst @@ -0,0 +1,12 @@ +.. _configure-automatic-workflows: + + +#################################### +Howto: configure automatic workflows +#################################### + +Find the configuration in the menu +`Sales > Configuration > Miscellaneous > Automatic Workflow`. + + +.. todo:: document the configuration diff --git a/connector_magento/doc/howto/configure_emails.rst b/connector_magento/doc/howto/configure_emails.rst new file mode 100644 index 000000000..5fd3e0ee3 --- /dev/null +++ b/connector_magento/doc/howto/configure_emails.rst @@ -0,0 +1,14 @@ +.. _configure-emails: + +####################### +How to configure emails +####################### + +On the Magento Stores, activate the options: + +* Send email notification on picking done +* Send email notification on invoice paid + +If you want Magento to send email on thoses events. + +You can otherwise configure Odoo to send e-mails. diff --git a/connector_magento/doc/howto/configure_exception_rules.rst b/connector_magento/doc/howto/configure_exception_rules.rst new file mode 100644 index 000000000..fffc6e24f --- /dev/null +++ b/connector_magento/doc/howto/configure_exception_rules.rst @@ -0,0 +1,12 @@ +.. _configure-exception-rules: + + +################################ +Howto: configure exception rules +################################ + +Find the configuration in the menu +`Sales > Configuration > Miscellaneous > Exception Rules`. + + +.. todo:: document the configuration diff --git a/connector_magento/doc/howto/configure_payment_modes.rst b/connector_magento/doc/howto/configure_payment_modes.rst new file mode 100644 index 000000000..f3e9970d6 --- /dev/null +++ b/connector_magento/doc/howto/configure_payment_modes.rst @@ -0,0 +1,14 @@ +.. _configure-payment-modes: + + +############################## +Howto: configure payment modes +############################## + +Find the configuration in the menu +`Invoicing > Configuration > Management > Payment Modes`. + +The name of the payment mode is the code of the payment in Magento, +for instance: `checkmo`. + +.. todo:: document the configuration diff --git a/connector_magento/doc/howto/configure_schedulers.rst b/connector_magento/doc/howto/configure_schedulers.rst new file mode 100644 index 000000000..a26c3eb6a --- /dev/null +++ b/connector_magento/doc/howto/configure_schedulers.rst @@ -0,0 +1,27 @@ +.. _configure-schedulers: + +########################### +How to configure schedulers +########################### + +Once your configuration has been set, +you will want to automate the import +of the products, sales orders, stock quantities and so on. + +Go to `Settings > Technical > Automation > Scheduled Actions`. + +Activate the wanted schedulers: + +* Magento - Import Customer Groups + +* Magento - Import Partners + +* Magento - Import Product Categories + +* Magento - Import Products + +* Magento - Import Sales Orders + +* Magento - Update Stock Quantities + +You can change the `Interval Number` and `Interval Unit` as well. diff --git a/connector_magento/doc/howto/configure_shipping_methods.rst b/connector_magento/doc/howto/configure_shipping_methods.rst new file mode 100644 index 000000000..888623da4 --- /dev/null +++ b/connector_magento/doc/howto/configure_shipping_methods.rst @@ -0,0 +1,36 @@ +.. _configure-shipping-methods: + + +################################# +How to configure shipping methods +################################# + +Find the configuration in the menu +`Inventory > Configuration > Delivery > Delivery Methods`. + +For each shipping method in Magento, +you need to create a delivery method in Odoo. + +The connector creates a product `[SHIP] Shipping costs`, +you can use it for the Delivery Product. + +.. note:: If you import a sale order but the shipping method does not + exist, it will create it for you. But the configuration will + not be correct, so you better have to create them before + any import. + +The 'Magento Carrier Code' is the code of the shipping method in Magento, +for instance: `flatrate_flatrate`. + +The 'Magento Tracking Title' is the text which will be displayed on +Magento next to the tracking number. + +'Export tracking numbers' defines wether the tracking numbers should be +sent to Magento. + + + +.. warning:: If you use the `flatrate` shipping method, you need to + deactivate the option `Export tracking numbers` because + this shipping method does not support to send tracking + numbers. diff --git a/connector_magento/doc/howto/configure_taxes.rst b/connector_magento/doc/howto/configure_taxes.rst new file mode 100644 index 000000000..6eed3b70d --- /dev/null +++ b/connector_magento/doc/howto/configure_taxes.rst @@ -0,0 +1,20 @@ +.. _configure-taxes: + + +###################### +How to configure taxes +###################### + +The connector imports products prices and sale order +line unit prices with taxes excluded by default. + +If Magento is configured with prices including taxes, +you have to activate the checkbox ``Prices included tax`` +in ``Connectors > Magento > Backends`` in the tab ``Advanced +Configuration``. + +.. warning:: This option should respect the same + configuration than Magento. Pay + attention to the taxes on the products, + which should surely include prices when + this option is activated. diff --git a/connector_magento/doc/howto/configure_translations.rst b/connector_magento/doc/howto/configure_translations.rst new file mode 100644 index 000000000..301f6fd81 --- /dev/null +++ b/connector_magento/doc/howto/configure_translations.rst @@ -0,0 +1,15 @@ +.. _configure-translations: + + +############################# +How to configure translations +############################# + +If you have different translations on Magento, +say one store view displayed in english and a second in french, +you have to configure the languages to use in Odoo. + +1. Set the default language in the Magento Backend (`Connectors > Magento > Backend`) + in the field `Default Language`. +2. Then, for each storeview (`Connectors > Magento > Storeviews`), + change the language of the storeview. diff --git a/connector_magento/doc/howto/configure_warehouse.rst b/connector_magento/doc/howto/configure_warehouse.rst new file mode 100644 index 000000000..b77be47de --- /dev/null +++ b/connector_magento/doc/howto/configure_warehouse.rst @@ -0,0 +1,19 @@ +.. _configure-warehouses: + +########################### +How to configure warehouses +########################### + +The warehouse defined on the Magento Backend +(`Connectors > Magento > Backend`) is the +warehouse used to update the stock quantities on Magento. + +On the backend, you can also change the field from which the +stock quantity is read in the product. +By default, the quantity send to Magento is the forecasted quantity, +but you can use another standard or custom field by changing the field +`Stock Field`. + +For each Magento Store, the connector has created an Odoo Sale Shop. +So you may want to check the Sales Shops to ensure they have the correct +warehouses. diff --git a/connector_magento/doc/howto/faq.rst b/connector_magento/doc/howto/faq.rst new file mode 100644 index 000000000..00fc62b7a --- /dev/null +++ b/connector_magento/doc/howto/faq.rst @@ -0,0 +1,17 @@ +.. _faq: + +FAQ +=== + +This is a list of frequently asked questions. Feel free to suggest new entries! + +How do I... +----------- + +Why... +----------- + +... are the taxes computed in Odoo with a small difference (1-2 cts)? + Odoo computes the taxes based on the total per lines. On Magento, you have + the choice between 'Total', 'Total per line' or 'Unit Price'. Be sure to select + the 'Total per line' option on Magento! diff --git a/connector_magento/doc/howto/modify_an_order.rst b/connector_magento/doc/howto/modify_an_order.rst new file mode 100644 index 000000000..788d38b4c --- /dev/null +++ b/connector_magento/doc/howto/modify_an_order.rst @@ -0,0 +1,45 @@ +.. _modify-an-order: + + +################################### +How to cancel / modify a sale order +################################### + +**************************************** +Handle a sale order cancelled on Magento +**************************************** + +If a sales order has already been imported in Odoo and is cancelled +in Magento, the change won't be reflected in Odoo. If a sales order +is still waiting for a payment and is canceled, it won't be imported in +Odoo. + +******************* +Modify a sale order +******************* + +When you need to modify a product in a sale order, +you should not modify it in the sale order directly. +The sale order represents what the customer really ordered. + +You would be able to change the product in the delivery order. +But Magento does not accept any change in the shipments, +so it won't be modified on the Magento side +(and you will have issues with partial deliveries). +The changes would not be repercuted on the invoices neither. + +Instead, you can modify the sale order on the Magento backend. +When Magento modifies a sale order, +it cancels it and creates a new one. +When the new order is imported in Odoo, +it flags the old one as 'Cancelled on Backend', +then link the new order with the old one as a 'parent' order. + +If it can automatically cancel the parent order, +it will do it. +Otherwise, you'll have to handle it manually. +You can search for them using the search filters. + +Until the old sale order is not cancelled or done, +a rule prevents the new and the parent sales orders +to be confirmed. diff --git a/connector_magento/doc/index.rst b/connector_magento/doc/index.rst new file mode 100644 index 000000000..25ef4bb1e --- /dev/null +++ b/connector_magento/doc/index.rst @@ -0,0 +1,163 @@ +.. Connectors documentation master file, created by + sphinx-quickstart on Mon Feb 4 11:35:44 2013. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +###################### +Odoo Magento Connector +###################### + +*Odoo Magento Connector* connects Odoo to Magento, 100% compatible with the +last `Odoo`_ 10.0 and latest `Magento`_ versions. + +Based on the `Odoo Connector`_ framework, this implementation has been +initiated by `Camptocamp`_ and is mainly developed and maintained by +`Camptocamp`_, `Acsone`_, `Akretion`_ with several other :ref:`contributors`. + +*Subscribe to the* `project's mailing list (name: Connectors)`_ + +*Learn how to contribute with the* :ref:`contribute` + +************* +Core Features +************* + +* **100% Open Source** (`AGPL version 3`_): the full `source code is available + on GitHub`_ +* **Multis**: multi-instances, multi-e-shop, multi-currency, + multi-warehouse, multi-language +* **Synchronization** of products catalog, customers, sales orders, stock levels, + shipments, packages' tracking numbers, invoices… +* **Built on top of the** `Odoo Connector`_ **framework with a strong and + efficient core**: it can then be extended or modified easily from + separate addons +* **Payment workflow automation**: depending on the mode of payment (credit + card, wire transfer), possibility to automate workflows in + Odoo (automatic order validation, automatic invoice validation…). + For instance, a sales order paid by credit card will automatically + create an invoice with the "paid" status +* Load testing results: **in a single day, successful import of more + than 10'000 sales orders** from Magento to Odoo! + +.. _`Odoo Connector`: http://www.odoo-connector.com +.. _Camptocamp: https://www.camptocamp.com +.. _Odoo: http://www.odoo.com +.. _Magento: https://www.magento.com +.. _Acsone: https://acsone.eu +.. _Akretion: http://www.akretion.com +.. _`source code is available on GitHub`: https://github.com/OCA/connector-magento +.. _`AGPL version 3`: http://www.gnu.org/licenses/agpl-3.0.html +.. _`project's mailing list (name: Connectors)`: https://odoo-community.org/groups + +******** +Workflow +******** + +.. raw:: html + + + +************************** +Top financial contributors +************************** + +.. image:: _static/img/LogicSupply_Orange_260x80_transparent.png + :alt: Logic Supply + :target: http://www.logicsupply.com + +.. image:: _static/img/logo-debonix.jpg + :alt: Debonix + :target: http://www.debonix.fr + +| + +*See all the project's* :ref:`financial-contributors`. + +*********** +First steps +*********** + +.. toctree:: + :maxdepth: 2 + + guides/installation_guide + guides/key_questions + + +*********************************** +Using and configuring the connector +*********************************** + +Be efficient using and configuring the connector. + +.. toctree:: + :maxdepth: 1 + + howto/configure_translations + howto/configure_warehouse + howto/configure_payment_modes + howto/configure_automatic_workflows + howto/configure_exception_rules + howto/configure_shipping_methods + howto/configure_emails + howto/configure_schedulers + howto/configure_taxes + guides/connector_checkpoint + guides/monitor_resolve_jobs + howto/modify_an_order + howto/faq + + +*************************** +Developing on the connector +*************************** + +Learn about how you can contribute or use the connector as a developer. + +Develop +======= + +.. toctree:: + :maxdepth: 3 + + project/contribute + +Tutorials +========= + +.. toctree:: + :maxdepth: 2 + + guides/tutorial_customize + + +API +=== + +.. toctree:: + :maxdepth: 2 + + api/api_components.rst + api/api_models.rst + api/api_exception.rst + + +******* +Project +******* + +.. toctree:: + :maxdepth: 1 + + project/roadmap + project/contributors + +****************** +Indices and tables +****************** + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/connector_magento/doc/make.bat b/connector_magento/doc/make.bat new file mode 100644 index 000000000..3b846632a --- /dev/null +++ b/connector_magento/doc/make.bat @@ -0,0 +1,190 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Connectors.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Connectors.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/connector_magento/doc/project/contribute.rst b/connector_magento/doc/project/contribute.rst new file mode 100644 index 000000000..5e458e5fb --- /dev/null +++ b/connector_magento/doc/project/contribute.rst @@ -0,0 +1,148 @@ +.. _contribute: + +################# +Developer's guide +################# + +.. _installation-dev-env: + +*************** +Dev Environment +*************** + +Installing the dev environment with Docker +========================================== + +When you want to install the Magento connector, you can either install it manually +using the :ref:`installation-guide` or either using our Docker config. +The manual installation is recommended if you need to add it on an existing +installation or if you want to control your environment in your own manner. + +The Docker config is an all-in-one package which installs Odoo, the +connector, Magento and provides niceties for the developers. + +It includes developer tools such as: + +* Run the tests on the connector / Magento connector +* Build the connector / Magento connector documentation +* Launch the Jobs Workers (for multiprocessing) + +The dev environment is on: https://github.com/guewen/odoo-magento-connector-workspace + +Clone the repo:: + + $ git clone https://github.com/guewen/odoo-magento-connector-workspace/ -b 10.0 + +and follow the installation steps described in the README of the project.. + +*********** +How to help +*********** + +Mailing list +============ + +The main channel for the discussion is the mailing list, you are invited to +subscribe on the list named 'Connectors' on: https://odoo-community.org/groups + +File an Issue +============= + +When you encounter an issue or think there is a bug, you can file a bug on the +project: https://github.com/OCA/connector-magento/issues + +The connector uses several community modules, located in different projects +(``sale_automatic_workflow``, ``sale_exceptions``, ...). If you know which +project is concerned, please report the bug directly on it, in case of doubt, +report it on the Magento Connector project and the developers will eventually +move it to the right project. + +Possibly, the bug is related to the connector framework, so you may want to report +it on this project instead: https://github.com/OCA/connector/issues. + +When you report a bug, please give all the sensible information you can provide, such as: + +* the reference of the branch of the connector that you are using, and if + possible the revision numbers of that branch and the dependencies (you can + use ``git rev-parse HEAD`` for that purpose) + +It is very helpful if you can include: + +* the detailed steps to reproduce the issue, including any relevant action +* in case of a crash, an extract from the server log files (possibly with a + few lines before the beginning of the crash report in the log) +* the additional modules you use with the connector if it can help + +Submit Pull Requests for features or fixes +========================================== + +Merge proposals are much appreciated and we'll take care to review them properly. + +The PR process is the following: + +1. Fork the project on https://github.com/OCA/connector-magento +#. Work on your branch, develop a feature or fix a bug. Please include a test (`Writing tests`_). +#. Ensure that the tests are green +#. Ensure that pep8 is repected +#. Open a Pull Request on GitHub +#. Travis will automatically test pep8 and launch the tests. If Travis fails, + you will need to correct your branch before it can be merged. + +.. note:: Check the `GitHub's help `_ + if necessary. + + +Improve the documentation +========================= + +Helping on the documentation is extremely valuable and is an easy starting +point to contribute. The documentation is located in the Magento connector's +project, so you will need to clone the repository, working on the documentation and +follow the instructions in the section `Submit Pull Requests for features or +fixes`_ to propose your changes. + +Translations +============ + +Currently the translations should be done directly in the ``.po`` files, follow +the `Submit Pull Requests for features or fixes`_ instructions. + +Writing tests +============= + +Every new feature in the connector should have tests. We use exclusively the +``unittest2`` tests with the Odoo extensions. + +The tests are located in ``connector_magento/tests``. + +The tests run without any connection to Magento. They use `vcr.py +`_ in order to record real requests +made towards the Magento API. The first time a test is run, vrcpy runs the +request on a real Magento, the next times the test is run, it uses the +registered data. +The reference data we use are those of the Magento demo data. + + + +.. code-block:: python + + from .common import mock_api, + from .a_data_module import new_set_of_data + + <...> + def test_new(self): + <...> + with recorder.use_cassette( + 'test_export_xxx') as cassette: + # do what the test needs, such as, for instance: + binding.export_record() + # all http calls are recorded in 'cassette' + # we can now check many things in the cassette itself + self.assertEqual(1, len(cassette.requests)) + +Useful links: + +* unittest documentation: https://docs.python.org/2/library/unittest.html +* Odoo's documentation on tests: https://www.odoo.com/documentation/10.0/reference/testing.html +* vcr.py documentation: https://vcrpy.readthedocs.io/en/latest/ +* pytest odoo plugin: https://pypi.python.org/pypi/pytest-odoo diff --git a/connector_magento/doc/project/contributors.rst b/connector_magento/doc/project/contributors.rst new file mode 100644 index 000000000..9128896a6 --- /dev/null +++ b/connector_magento/doc/project/contributors.rst @@ -0,0 +1,61 @@ +.. _contributors: + +############ +Contributors +############ + +List of contributors: + +.. include:: ../../AUTHORS + +Special thanks to: + +* Mohammed Nahhas for creating Maverick-Entity-Generator_ to help us in + our tests. + +.. _Maverick-Entity-Generator: https://github.com/maverick193/entity-generator + +.. _financial-contributors: + +###################### +Financial Contributors +###################### + +A fund raising has been done during the year 2013, allowing us to develop +the connector framework and the Magento connector. + +Here is the list of the funders, ordered by the amount of the contribution: + +* **Logic Supply** +* **Debonix** +* Apertoso +* OpenBIG +* Smile +* IT Service Partners +* WillowIT +* Eezee-It +* Auguria +* Enova +* Mr. Goran Sunjka +* Taktik +* Maison del Gusto +* Open2bizz Software +* Bee Company +* initOS +* Rhônalia +* Julius Network Solutions +* Elico Corp +* Linko Solutions +* HSP Hanse Shopping +* Burn Out Italy +* Mr. Peter Dijkstra +* Mr. Luc Maurer +* Mr. Maxime Chambreuil +* Mr. Eric Vernichon +* Avanzosc +* Mr. Fabio Martinelli +* Mr. Marcelo Bello +* Rove.design +* Mr. Mark Felling + +Thanks to all of them! diff --git a/connector_magento/doc/project/roadmap.rst b/connector_magento/doc/project/roadmap.rst new file mode 100644 index 000000000..e0cad3bf0 --- /dev/null +++ b/connector_magento/doc/project/roadmap.rst @@ -0,0 +1,61 @@ +.. _roadmap: + + +####### +Roadmap +####### + +This document lists the feature that we want to develop for the +connector. They are not sorted by priority. Any contribution on theses +points will be welcome. + +******* +Catalog +******* + +Types of products +================= + +* Support of Bundles with a split in the sale order + +* Support of Bundles with a manufacturing order + +* Support of Configurables + +* Support of Grouped products + +* Support of Virtual products + +* Support of Downloadable products + +Product links +============= + +* Import of links + +* Related, Upsell, Cross-sell, ... + +* Gifts + +Product images +============== + +* Import product images + +* Management of several images on a product + +Export of the catalog +===================== + +* Export products + +* Export product categories + +* Export product links + +* Export product images + +Pricing +======= + +* Push the new prices to Magento when a pricelist is modified diff --git a/connector_magento/exception.py b/connector_magento/exception.py new file mode 100644 index 000000000..96f1052e4 --- /dev/null +++ b/connector_magento/exception.py @@ -0,0 +1,9 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp.addons.connector.exception import RetryableJobError + + +class OrderImportRuleRetry(RetryableJobError): + """ The sale order import will be retried later. """ diff --git a/connector_magento/i18n/connector_magento.pot b/connector_magento/i18n/connector_magento.pot new file mode 100644 index 000000000..73c43e76b --- /dev/null +++ b/connector_magento/i18n/connector_magento.pot @@ -0,0 +1,4885 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * connector_magento +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__state +msgid " * Draft: not confirmed yet and will not be scheduled until confirmed.\n" +" * Waiting Another Operation: waiting for another move to proceed before it becomes automatically available (e.g. in Make-To-Order flows).\n" +" * Waiting: if it is not ready to be sent because the required products could not be reserved.\n" +" * Ready: products are reserved and ready to be sent. If the shipping policy is 'As soon as possible' this happens as soon as anything is reserved.\n" +" * Done: has been processed, can't be modified or cancelled anymore.\n" +" * Cancelled: has been cancelled, can't be confirmed anymore." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__state +msgid " * The 'Draft' status is used when a user is encoding a new and unconfirmed Invoice.\n" +" * The 'Open' status is used when user creates invoice, an invoice number is generated. It stays in the open status till the user pays the invoice.\n" +" * The 'In Payment' status is used when payments have been registered for the entirety of the invoice in a journal configured to post entries at bank reconciliation only, and some of them haven't been reconciled with a bank statement line yet.\n" +" * The 'Paid' status is set automatically when the invoice is paid. Its related journal entries may or may not be reconciled.\n" +" * The 'Cancelled' status is used when user cancel invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_count +msgid "# Product Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__product_count +msgid "# Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__magento_order_id +msgid "'order_id' field in Magento" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "(recompute)" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +msgid "A Magento binding for this invoice already exists." +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.backend:0 +msgid "A backend with the same sale prefix already exists" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +#: sql_constraint:magento.address:0 +#: sql_constraint:magento.binding:0 +#: sql_constraint:magento.product.category:0 +#: sql_constraint:magento.product.product:0 +#: sql_constraint:magento.res.partner:0 +#: sql_constraint:magento.res.partner.category:0 +#: sql_constraint:magento.sale.order:0 +#: sql_constraint:magento.sale.order.line:0 +#: sql_constraint:magento.stock.picking:0 +#: sql_constraint:magento.store:0 +#: sql_constraint:magento.storeview:0 +#: sql_constraint:magento.website:0 +msgid "A binding already exists with the same Magento ID." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__description_sale +msgid "A description of the Product that you want to communicate to your customers. This description will be copied to every Sales Order, Delivery Order and Customer Invoice/Credit Note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order has been canceled on the backend and needs to be canceled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_id +msgid "A parent sales order is a sales order replaced by this one." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order needs cancel" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.address:0 +msgid "A partner address can only have one binding by backend." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__sale_prefix +msgid "A prefix put before the name of imported sales orders.\n" +"For instance, if the prefix is 'mag-', the sales order 100000692 in Magento, will be named 'mag-100000692' in Odoo." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__type +msgid "A storable product is a product for which you manage stock. The Inventory app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "API" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_warning +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_warning +msgid "Access warning" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "According to product configuration, the delivered quantity can be automatically computed by mechanism :\n" +" - Manual: the quantity is set manually on the line\n" +" - Analytic From expenses: the quantity is the quantity sum from posted expenses\n" +" - Timesheet: the quantity is the sum of hours recorded on tasks linked to this sale line\n" +" - Stock Moves: the quantity comes from confirmed pickings\n" +"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__account_id +msgid "Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date +msgid "Accounting Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Activate this option if this payment method requires you to know the bank account number of your customer or supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__active +msgid "Active" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_ids +msgid "Activities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_state +msgid "Activity State" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__comment +msgid "Additional Information" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__additional_info +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__additional_info +msgid "Additional info" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__type +msgid "Address Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_magento_order_address +msgid "Address from a Magento Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__admin_location +msgid "Admin Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Advanced Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__all_qty_delivered +msgid "All quantities delivered" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__lang +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__lang +msgid "All the emails and documents sent to this contact will be translated in this language." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:76 +#, python-format +msgid "Already exported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/importer.py:374 +#, python-format +msgid "Already imported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:200 +#, python-format +msgid "Already up-to-date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_undiscounted +msgid "Amount Before Discount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual +msgid "Amount Due" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Amount Due in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_signed +msgid "Amount Due in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__consider_as_company +msgid "An account imported with a 'company' in the billing address is considered as a company.\n" +" The partner takes the name of the company and is not merged with the billing address." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__account_analytic_id +msgid "Analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_line_ids +msgid "Analytic lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__token +msgid "Authentication token for Magento 2.0+. See https://devdocs. magento.com/guides/v2.3/get-started/authentication/gs-authentication-token.html" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__authorized_transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__authorized_transaction_ids +msgid "Authorized Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Auto-complete from a past bill." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__workflow_process_id +msgid "Automatic Workflow" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__available_carrier_ids +msgid "Available Carriers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_id +msgid "Back Order of" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_ids +msgid "Back Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_backend +msgid "Backends" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_account_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_account_count +msgid "Bank" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account Number to which the invoice will be paid. A Company bank account if this is a Customer Invoice or Vendor Credit Note, otherwise a Partner bank account number." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Bank Account Required" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_ids +msgid "Banks" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__barcode +msgid "Barcode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__base_media_url +msgid "Base Media Url" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__base_media_url +msgid "Base URL to retrieve product images. Used for Magento2 only. For example: http://magento/media" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic Auth. Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic Auth. Username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic access authentication web server side password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic access authentication web server side username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image +msgid "Big-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__birthday +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_users__birthday +msgid "Birthday" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_bounce +msgid "Bounce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_bulk +msgid "Bulk Weight" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "By clicking on the buttons,\n" +" you will initiate the synchronizations\n" +" with Magento.\n" +" Note that the import or exports\n" +" won't be done directly,\n" +" they will create 'Jobs'\n" +" executed as soon as possible." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_updatable +msgid "Can Edit Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__purchase_ok +msgid "Can be Purchased" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__rental +msgid "Can be Rent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_ok +msgid "Can be Sold" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Cancel" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:113 +#, python-format +msgid "Cancel sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__canceled_in_backend +msgid "Canceled in backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:71 +#, python-format +msgid "Canceled: the delivery order does not contain lines from the original sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__cancellation_resolved +msgid "Cancellation from the backend resolved" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_id +msgid "Carrier" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Cash Rounding Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_from_categ_ids +msgid "Category Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__channel_ids +msgid "Channels" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "Check if the storeview is active in Magento but its sales orders should not be imported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__has_packages +msgid "Check the existence of destination packages on move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Check the existence of pack operation on the picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer +msgid "Check this box if this contact is a customer. It can be selected in sales orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier +msgid "Check this box if this contact is a vendor. It can be selected in purchase orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__employee +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__no_stock_sync +msgid "Check this to exclude the product from stock synchronizations." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_backend/common.py:246 +#, python-format +msgid "Check your configuration, we can't get the data. Here is the error:\n" +"%s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__child_id +msgid "Child Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__child_ids +msgid "Child Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__product_stock_field_id +msgid "Choose the field of the product which will be used for stock inventory updates.\n" +"If empty, Quantity Available is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__city +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__city +msgid "City" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Close" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__code +msgid "Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__color +msgid "Color Index" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__commitment_date +msgid "Commitment Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref_company_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__company_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_name +msgid "Company Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_company_name +msgid "Company Name Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_type +msgid "Company Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_gid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_users__company +msgid "Company name (in Magento)" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Complete" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contact_address +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contact_address +msgid "Complete Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__complete_name +msgid "Complete Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__effective_date +msgid "Completion date of the first delivery order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_qty +msgid "Computed Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__confirmation_date +msgid "Confirmation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__consider_as_company +msgid "Considered as company" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner +msgid "Contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__child_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__child_ids +msgid "Contacts" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contracts_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__standard_price +msgid "Cost" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_currency_id +msgid "Cost Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_method +msgid "Cost Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__standard_price +msgid "Cost used for stock valuation in standard price and as a first price to set in average/fifo. Also used as a base price for pricelists. Expressed in the default unit of measure of the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_cost_method +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_cost_method +msgid "Costing Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__country_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__country_id +msgid "Country" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +msgid "Create invoice on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_payment_mode__create_invoice_on +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_invoice_on +msgid "Create invoice on action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__created_at +msgid "Created At (on Magento)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_uid +msgid "Created by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_date +msgid "Created on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date +msgid "Creation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date +msgid "Creation Date, usually the time of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__currency_id +msgid "Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__qty_available +msgid "Current quantity of products.\n" +"In a context with a single Stock Location, this includes goods stored at this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the Stock Location of this Warehouse, or any of its children.\n" +"stored in the Stock Location of the Warehouse of this Shop, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_custom_api_path +msgid "Custom Api Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_delay +msgid "Customer Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_customer +msgid "Customer Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Customer Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__partner_ref +msgid "Customer Ref" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__client_order_ref +msgid "Customer Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__taxes_id +msgid "Customer Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__date +msgid "Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date_done +msgid "Date at which the transfer has been processed or cancelled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date_done +msgid "Date of Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__confirmation_date +msgid "Date on which the sales order is confirmed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_billing +msgid "Default Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_lang_id +msgid "Default Language" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__owner_id +msgid "Default Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_category_id +msgid "Default Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_shipping +msgid "Default Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Default taxes used when buying the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__taxes_id +msgid "Default taxes used when selling the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_id +msgid "Default unit of measure used for all stock operations." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_po_id +msgid "Default unit of measure used for purchase orders. It must be in the same category as the default unit of measure." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__seller_ids +msgid "Define vendor pricelists." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Defines the smallest coinage of the currency that can be used to pay by cash." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__trust +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_manual +msgid "Delivered Manually" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered +msgid "Delivered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_shipping_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Delivery Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_message +msgid "Delivery Message" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_count +msgid "Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_rating_success +msgid "Delivery Rating Success" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__expected_date +msgid "Delivery date you can promise to the customer, computed from product lead times and from the shipping policy of the order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_delay +msgid "Delivery lead time, in days. It's the number of days, promised to the customer, between the confirmation of the sales order and the delivery." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__route_ids +msgid "Depending on the modules installed, this will allow you to define the route of the product: whether it will be bought, manufactured, MTO, etc." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__name +msgid "Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingout +msgid "Description on Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_picking +msgid "Description on Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingin +msgid "Description on Receptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_dest_id +msgid "Destination Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__display_name +msgid "Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_type +msgid "Display Type" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Do Not Manage Stock" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Does the invoice export/creation should send an email notification on Magento side?" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_picking_done_mail +msgid "Does the picking export/creation should send an email notification on Magento side?" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Down payments are made when creating invoices from a sales order. They are not copied when duplicating a sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_due +msgid "Due Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__emailid +msgid "E-mail address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__effective_date +msgid "Effective Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__partner_share +msgid "Either customer (not a user), either shared user. Indicated the current partner is a customer without access or with a limited access created for sharing data." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email +msgid "Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__employee +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__employee +msgid "Employee" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__enabled +msgid "Enabled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tracking +msgid "Ensure the traceability of a storable product in your warehouse." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_price +msgid "Estimated Delivery Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exception_ids +msgid "Exceptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exceptions_summary +msgid "Exceptions Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_expense_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Expense Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__expense_policy +msgid "Expenses and vendor bills can be re-invoiced to a customer.With this option, a validated expense can be re-invoice to a customer at its cost or sales price." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_export_tracking +msgid "Export tracking numbers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_ids +msgid "Extra categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__data +msgid "File" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__name +msgid "File Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__carrier_id +msgid "Fill this field if you plan to invoice the shipping based on picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__fiscal_position_id +msgid "Fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Force Removal Strategy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__virtual_available +msgid "Forecast Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__virtual_available +msgid "Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n" +"In a context with a single Stock Location, this includes goods stored in this location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Get" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__packaging_ids +msgid "Gives the different ways to package the same product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sequence +msgid "Gives the sequence order when displaying a product list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__guest_customer +msgid "Guest Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hs_code +msgid "HS Code" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "HTTP Authentication" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__has_checkpoint +msgid "Has Checkpoint" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__has_outstanding +msgid "Has Outstanding" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Has Pack Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_packages +msgid "Has Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_scrap_move +msgid "Has Scrap Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_tracking +msgid "Has Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__need_cancel +msgid "Has been canceled on the backend, need to be canceled." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Here is the file with information read drom the backend:" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hide_expense_policy +msgid "Hide Expense Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__id +msgid "ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__external_id +msgid "ID on Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__im_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__im_status +msgid "IM Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_category_id +msgid "If a default category is selected, products imported without a category will be linked to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_lang_id +msgid "If a default language is selected, the records will be imported in the translation of this language.\n" +"Note that a similar configuration exists for each storeview." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__team_id +msgid "If set, this Sales Team will be used for sales and assignations related to this partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__account_analytic_id +msgid "If specified, this analytic account will be used to fill the field on the sale order created by the connector. The value can also be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_account_analytic_id +msgid "If specified, this analytic account will be used to fill the field on the sale order created by the connector. The value can also be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "If specified, this fiscal position will be used to fill the field fiscal position on the sale order created by the connector.The value can also be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_warehouse_id +msgid "If specified, this warehouse will be used to load fill the field warehouse (and company) on the sale order created by the connector.The value can also be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_blacklisted +msgid "If the email address is on the blacklist, the contact won't receive mass mailing anymore, from any list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_website__is_multi_company +msgid "If this flag is set, it is possible to choose warehouse at each level. When import partner, ignore company_id if this flag is set." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__backorder_id +msgid "If this shipment was split, then this field links to the shipment which contains the already processed part." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "If ticked, you will be able to select entire packages to move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__active +msgid "If unchecked, it will allow you to hide the product without removing it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__picking_policy +msgid "If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__payment_term_id +msgid "If you use payment terms, the due date will be computed automatically at the generation of accounting entries. If you keep the payment terms and the due date empty, it means direct payment. The payment terms may compute several due dates, for example 50% now, 50% in one month." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_due +msgid "If you use payment terms, the due date will be computed automatically at the generation of accounting entries. The Payment terms may compute several due dates, for example 50% now and 50% in one month, but if you want to force a due date, make sure that the payment term is not set on the invoice. If you keep the Payment terms and the due date empty, it means direct payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__ignore_exception +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__ignore_exception +msgid "Ignore Exceptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image +msgid "Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__product_image +msgid "Image of the product variant (Big-sized image of product template if false). It is automatically resized as a 1024x1024px image, with aspect ratio preserved." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_medium +msgid "Image of the product variant (Medium-sized image of product template if false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_small +msgid "Image of the product variant (Small-sized image of product template if false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__immediate_transfer +msgid "Immediate Transfer" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders since" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import all customer groups" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_categories_from_date +msgid "Import categories from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import in background" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import partners from all websites" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__import_partners_from_date +msgid "Import partners from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import partners since" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products categories since" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_products_from_date +msgid "Import products from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products since" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__import_orders_from_date +msgid "Import sale orders from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import sales orders from all store views" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Imports" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_internal_id +msgid "In Magento2, we have to keep track of both the external_id (the product SKU) which is used in the Magento2 REST API, as well as the Magento internal id as used in the admin URL." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_income_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_income_id +msgid "Income Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__incoming_qty +msgid "Incoming" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterm_id +msgid "Incoterm" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterms_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__incoterm +msgid "Incoterms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterms_id +msgid "Incoterms are series of sales terms. They are used to divide transaction costs and responsibilities between buyer and seller and reflect state-of-the-art transportation practices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__industry_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__industry_id +msgid "Industry" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Informations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__default_code +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref +msgid "Internal Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__barcode +msgid "International Article Number used for product identification." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterm_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__incoterm +msgid "International Commercial Terms are a series of predefined commercial terms used in international transactions." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_inventory +msgid "Inventory Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "Inventory Options" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_valuation +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_valuation +msgid "Inventory Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_invoice +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn +msgid "Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_count +msgid "Invoice Count" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/account_invoice/exporter.py:25 +#, python-format +msgid "Invoice Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_invoice +msgid "Invoice Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_icon +msgid "Invoice Icon" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_line_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_lines +msgid "Invoice Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_shipping_on_delivery +msgid "Invoice Shipping on Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_status +msgid "Invoice Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_id +msgid "Invoice for which this invoice is the credit note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_invoiced +msgid "Invoiced Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_ids +msgid "Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__invoice_policy +msgid "Invoicing Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__is_multi_company +msgid "Is Backend Multi-Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__is_locked +msgid "Is Locked" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__is_product_variant +msgid "Is Product Variant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_company +msgid "Is a Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer +msgid "Is a Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_delivery +msgid "Is a Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Is a down payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is expense" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__is_expired +msgid "Is expired" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is true if the sales order line comes from an expense or a vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reconciled +msgid "It indicates that the invoice has been paid and the journal entry of the invoice has been reconciled with one or several journal entries of payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__sent +msgid "It indicates that the invoice has been sent." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_type +msgid "It specifies goods to be deliver partially or all at once" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__function +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__function +msgid "Job Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_id +msgid "Journal Entry" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_name +msgid "Journal Entry Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__journal_item_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_invoice +msgid "Keep empty to use the current date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date +msgid "Keep empty to use the invoice date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_income_id +msgid "Keep this field empty to use the default value from the product category." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Keep this field empty to use the default value from the product category. If anglo-saxon accounting with automated valuation method is configured, the expense account on the product category will be used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__lang_id +msgid "Language" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_address____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_store____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_website____last_update +msgid "Last Modified on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_date +msgid "Last Updated on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_qty +msgid "Last computed quantity to send on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sync_date +msgid "Last synchronization date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Last time the invoices & payments matching was performed for this partner. It is set either if there's not at least an unreconciled debit and an unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_id +msgid "Link to the automatically generated Journal Items." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__location +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__location_id +msgid "Location" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_root +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_delivery_carrier_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_category_form +msgid "Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_categories_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_categories +#: model:ir.cron,name:connector_magento.ir_cron_import_product_categories +msgid "Magento - Import Product Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_product_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_product +#: model:ir.cron,name:connector_magento.ir_cron_import_product_product +msgid "Magento - Import Products" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_update_product_stock_qty_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_update_product_stock_qty +#: model:ir.cron,name:connector_magento.ir_cron_update_product_stock_qty +msgid "Magento - Update Stock Quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_customer_groups_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_customer_groups +#: model:ir.cron,name:connector_magento.ir_cron_import_customer_groups +msgid "Magento - Import Customer Groups" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_partners_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_partners +#: model:ir.cron,name:connector_magento.ir_cron_import_partners +msgid "Magento - Import Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_sale_orders_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_sale_orders +#: model:ir.cron,name:connector_magento.ir_cron_import_sale_orders +msgid "Magento - Import Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_address +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_tree +msgid "Magento Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_address_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Magento Address Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_backend +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__backend_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_tree +msgid "Magento Backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_backend +msgid "Magento Backends" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_carrier_code +msgid "Magento Base Carrier Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding +msgid "Magento Binding (abstract)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_binding_model +msgid "Magento Binding Model" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_stock_picking__magento_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:connector_magento.view_invoice_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_sale_order_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_stock_picking_out_magento_form +msgid "Magento Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_code +msgid "Magento Carrier Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_child_ids +msgid "Magento Child Categories" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Magento Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_config_specializer +msgid "Magento Configuration Specializer Mixin" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_stock_picking +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_tree +msgid "Magento Delivery Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding_backend_read +msgid "Magento Generic Object Reader Wizard" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__group_id +msgid "Magento Group (Category)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_id +msgid "Magento Id" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_internal_id +msgid "Magento Internal" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_account_invoice +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_tree +msgid "Magento Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_id +msgid "Magento Order ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_line_ids +msgid "Magento Order Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_parent_id +msgid "Magento Parent Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_partner_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_tree +msgid "Magento Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_product +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_tree +msgid "Magento Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_category +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_tree +msgid "Magento Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_type +msgid "Magento Product Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_binding_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__product_binding_ids +msgid "Magento Products" +msgstr "" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_rewards +#: model:product.template,name:connector_magento.product_product_rewards_product_template +msgid "Magento Rewards" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_order_id +msgid "Magento Sale Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order_line +msgid "Magento Sale Order Line" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_tree +msgid "Magento Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_tree +msgid "Magento Store" +msgstr "" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_store_credit +#: model:product.template,name:connector_magento.product_product_store_credit_product_template +msgid "Magento Store Credit" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_store +msgid "Magento Stores" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_storeview +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__storeview_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_tree +msgid "Magento Storeview" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_storeview +msgid "Magento Storeviews" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_tracking_title +msgid "Magento Tracking Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__taxvat +msgid "Magento VAT" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_website +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__website_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_tree +msgid "Magento Website" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_website +msgid "Magento Websites" +msgstr "" + +#. module: connector_magento +#: model:res.partner.category,name:connector_magento.category_no_account +msgid "Magento guest users" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:58 +#, python-format +msgid "Magento sales order is already in state %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Main Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__main_exception_id +msgid "Main Exception" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backorders +msgid "Manage Inventory Backorders" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Manage Stock" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__manage_stock +msgid "Manage Stock Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_valuation +msgid "Manual: The accounting entries to value the inventory are not posted automatically.\n" +" Automated: An accounting entry is automatically created to value the inventory when a product enters or leaves the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_valuation +msgid "Manual: The accounting entries to value the inventory are not posted automatically.\n" +" Automated: An accounting entry is automatically created to value the inventory when a product enters or leaves the company.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__service_type +msgid "Manually set quantities on order: Invoice based on the manually entered quantity, without creating an analytic account.\n" +"Timesheets on contract: Invoice based on the tracked hours on the related timesheet.\n" +"Create a task and track hours: Create a task on the sales order validation and track the work hours." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image of this contact. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn_msg +msgid "Message for Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn_msg +msgid "Message for Sales Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn_msg +msgid "Message for Sales Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn_msg +msgid "Message for Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_ids +msgid "Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "Method to update delivered qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__orderpoint_ids +msgid "Minimum Stock Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__mobile +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__mobile +msgid "Mobile" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "Move Entire Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__name +msgid "Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signed_by +msgid "Name of the person that signed the SO." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__need_cancel +msgid "Need to be canceled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__newsletter +msgid "Newsletter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next +msgid "Next Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next_prefix +msgid "Next Number Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "No Sales Order Synchronization" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "No Sell" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__no_stock_sync +msgid "No Stock Synchronization" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/queue_job/common.py:26 +#, python-format +msgid "No admin URL configured on the backend or no admin path is defined for this record." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:79 +#, python-format +msgid "No tracking number to send." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__notes +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__note +msgid "Notes" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:364 +#: code:addons/connector_magento/components/exporter.py:369 +#, python-format +msgid "Nothing to export." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__number +msgid "Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Number of days between the order confirmation and the shipping of the products to the customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__odoo_id +msgid "Odoo Product" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Once imported,\n" +" some types of records,\n" +" like the products or categories,\n" +" need a manual review.\n" +" You will find the list\n" +" of the new records to review\n" +" in the menu 'Connectors > Checkpoint'." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_payment +msgid "Online Payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_signature +msgid "Online Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__verify_ssl +msgid "Only for Magento 2.0+" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_id +msgid "Operation Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids +msgid "Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids_without_package +msgid "Operations without package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_option_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sale_order_option_ids +msgid "Optional Products Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products are suggested whenever the customer hits *Add to Cart* (cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Options" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__date_order +msgid "Order Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__order_line +msgid "Order Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_id +msgid "Order Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__state +msgid "Order Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom_qty +msgid "Ordered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__invoice_policy +msgid "Ordered Quantity: Invoice quantities ordered by the customer.\n" +"Delivered Quantity: Invoice quantities delivered to the customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__outgoing_qty +msgid "Outgoing" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__outstanding_credits_debits_widget +msgid "Outstanding Credits Debits Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__owner_id +msgid "Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_packaging +msgid "Package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids +msgid "Package Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids_details +msgid "Package Level Ids Details" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_ids +msgid "Packages" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reconciled +msgid "Paid/Reconciled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_id +msgid "Parent Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_parent_id +msgid "Parent Magento Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_id +msgid "Parent Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_path +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_path +msgid "Parent Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_name +msgid "Parent name" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Partial" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__partner_id +msgid "Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__odoo_id +msgid "Partner Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contract_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__partner_ids +msgid "Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__password +msgid "Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_mode_id +msgid "Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_payment_mode +msgid "Payment Modes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_move_line_ids +msgid "Payment Move Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reference +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__reference +msgid "Payment Ref." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_term_id +msgid "Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_ids +msgid "Payment Tokens" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_ids +msgid "Payments" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payments_widget +msgid "Payments Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__phone +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__phone +msgid "Phone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_method +msgid "Picking Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price +msgid "Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce +msgid "Price Reduce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxexcl +msgid "Price Reduce Tax excl" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxinc +msgid "Price Reduce Tax inc" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__list_price +msgid "Price at which the product is sold to customers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_item_ids +msgid "Pricelist Item" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__item_ids +msgid "Pricelist Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__catalog_price_tax_included +msgid "Prices include tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_id +msgid "Pricing/Primary Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__printed +msgid "Printed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__priority +msgid "Priority" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__priority +msgid "Priority for this picking. Setting manually a value here would set it as priority for all the moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__procurement_group_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__group_id +msgid "Procurement Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_product +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__product_id +msgid "Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_line_ids +msgid "Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_category +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__odoo_id +msgid "Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_image +msgid "Product Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__packaging_ids +msgid "Product Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__type +msgid "Product Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_no_variant_attribute_value_ids +msgid "Product attribute values that do not create variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_production +msgid "Production Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_ids +msgid "Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__delivery_type +msgid "Provider" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_purchase +msgid "Purchase Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_po_id +msgid "Purchase Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_at_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_qty +msgid "Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_available +msgid "Quantity On Hand" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__incoming_qty +msgid "Quantity of planned incoming products.\n" +"In a context with a single Stock Location, this includes goods arriving to this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods arriving to the Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods arriving to any Stock Location with 'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__outgoing_qty +msgid "Quantity of planned outgoing products.\n" +"In a context with a single Stock Location, this includes goods leaving this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods leaving the Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods leaving any Stock Location with 'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_template_id +msgid "Quotation Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__expense_policy +msgid "Re-Invoice Policy" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Read Binding information from backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.magento_binding_backend_read_act_window +msgid "Read information from backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/deleter.py:20 +#, python-format +msgid "Record %s deleted on Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:191 +#, python-format +msgid "Record does no longer exist in Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:371 +#, python-format +msgid "Record exported with ID %s on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__name +msgid "Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__origin +msgid "Reference of the document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__origin +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__origin +msgid "Reference of the document that produced this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__name +msgid "Reference/Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_ids +msgid "Refund Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_id +msgid "Related Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__related_backorder_ids +msgid "Related backorders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__remaining_validity_days +msgid "Remaining Validity Days" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Remaining amount due in the currency of the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_signed +msgid "Remaining amount due in the currency of the invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual +msgid "Remaining amount due." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:136 +#, python-format +msgid "Reopen sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_max_qty +msgid "Reordering Max Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_min_qty +msgid "Reordering Min Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__nbr_reordering_rules +msgid "Reordering Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_signature +msgid "Request a online signature to the customer in order to confirm orders automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_payment +msgid "Request an online payment to the customer in order to confirm orders automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__responsible_id +msgid "Responsible" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__route_id +msgid "Route" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__route_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_ids +msgid "Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_sale +msgid "Sale Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__odoo_id +msgid "Sale Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__odoo_id +msgid "Sale Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__sale_prefix +msgid "Sale Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__lst_price +msgid "Sale Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__workflow_process_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__workflow_process_id +msgid "Sale Workflow Process" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:53 +#, python-format +msgid "Sale is not linked with a Magento sales order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sale_id +msgid "Sales Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order_line +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn +msgid "Sales Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__list_price +msgid "Sales Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__team_id +msgid "Sales Team" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__salesman_id +msgid "Salesperson" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled time for the first part of the shipment to be processed. Setting manually a value here would set it as expected date for all the stock moves." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_token +msgid "Security Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__categ_id +msgid "Select category for the current product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_line_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__sale_warn +msgid "Selecting the \"Warning\" option will notify user with the message, Selecting \"Blocking Message\" will throw an exception with the message and block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__self +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__self +msgid "Self" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0 and Use Customer Notification" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Send email notification on invoice validated/paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_picking_done_mail +msgid "Send email notification on picking done" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sent +msgid "Sent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sequence +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sequence +msgid "Sequence" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Set a specific removal strategy that will be used regardless of the source location for this product category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_share +msgid "Share Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_price +msgid "Shipping Cost" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:24 +#, python-format +msgid "Shipping Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_policy +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_type +msgid "Shipping Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_account_payment_mode__create_invoice_on +msgid "Should the invoice be created in Magento when it is validated or when it is paid in Odoo?\n" +"If nothing is set, the option falls back to the same option on the Magento store related to the sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__create_invoice_on +msgid "Should the invoice be created in Magento when it is validated or when it is paid in Odoo?\n" +"This only takes effect if the sales order's related payment method is not giving an option for this by itself. (See Payment Methods)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Show Check Availability" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_lots_text +msgid "Show Lots Text" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Show Mark As Todo" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_operations +msgid "Show Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_validate +msgid "Show Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signature +msgid "Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signature +msgid "Signature received through the portal." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signed_by +msgid "Signed by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_expiration +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_token +msgid "Signup Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_valid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_url +msgid "Signup URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image of this contact. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sales_count +msgid "Sold" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sort_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sort_order +msgid "Sort Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__origin +msgid "Source Document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__source_email +msgid "Source Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_id +msgid "Source Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_account_analytic_id +msgid "Specific analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "Specific fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_warehouse_id +msgid "Specific warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_cost_method +msgid "Standard Price: The products are valued at their standard cost defined on the product.\n" +" Average Cost (AVCO): The products are valued at weighted average cost.\n" +" First In First Out (FIFO): The products are valued supposing those that enter the company first will also leave it first." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_cost_method +msgid "Standard Price: The products are valued at their standard cost defined on the product.\n" +" Average Cost (AVCO): The products are valued at weighted average cost.\n" +" First In First Out (FIFO): The products are valued supposing those that enter the company first will also leave it first.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__hs_code +msgid "Standardized code for international shipping and goods declaration. At the moment, only used for the FedEx shipping provider." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__state_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__state_id +msgid "State" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:50 +#, python-format +msgid "State %s is not exported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__state +msgid "Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__activity_state +msgid "Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_stock_field_id +msgid "Stock Field" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_manual_move_ids +msgid "Stock Fifo Manual Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_real_time_aml_ids +msgid "Stock Fifo Real Time Aml" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_input +msgid "Stock Input Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_journal +msgid "Stock Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_move_ids +msgid "Stock Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__move_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_lines +msgid "Stock Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_output +msgid "Stock Output Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__odoo_id +msgid "Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Stock Quant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "Stock Valuation Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value_currency_id +msgid "Stock Value Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_ids_without_package +msgid "Stock moves not in package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__store_id +msgid "Store" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__store_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Stores" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__store_id +msgid "Storeview" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__storeview_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_storeview +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +msgid "Storeviews" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street +msgid "Street" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street2 +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street2 +msgid "Street2" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Supplier Payment Mode" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Synchronize Metadata" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__name +msgid "Tag Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__category_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__category_id +msgid "Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax +msgid "Tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__tax_class_id +msgid "Tax Class ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__vat +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__vat +msgid "Tax ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__tax_line_ids +msgid "Tax Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_rate +msgid "Tax Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_by_group +msgid "Tax amount by group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax groups are used with some external system like Prestashop" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax_signed +msgid "Tax in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_tax +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_id +msgid "Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_archived_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_existing_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Technical compute" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__display_type +msgid "Technical field for UX purpose." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_name +msgid "Technical field holding the number given to the invoice, automatically set when the invoice is validated then stored to set the same number again if the invoice is cancelled, set to draft and re-validated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Technical field used to compute whether the check availability button should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Technical field used to compute whether the mark as todo button should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_validate +msgid "Technical field used to compute whether the validate should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__pricelist_id +msgid "Technical field. Used for searching on pricelists, not stored in database." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_move_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Technical: used to compute quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_template_attribute_value_ids +msgid "Template Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__note +msgid "Terms and conditions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__vat +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__vat +msgid "The Tax Identification Number. Complete it if the contact is subjected to government taxes. Used in some legal statements." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount +msgid "The amount computed in Odoo doesn't match with the amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if necessary." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__analytic_account_id +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:76 +#, python-format +msgid "The carrier %s does not export tracking numbers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__commercial_partner_id +msgid "The commercial entity that will be used on Journal Entries for this invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__company_id +msgid "The company is automatically set from your user preferences." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/importer.py:328 +#, python-format +msgid "The configurable product is not imported in Odoo, because only the simple products are used in the sales orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_custom_api_path +msgid "The default API path is '/index.php/api/xmlrpc'. Check this box if you use a custom API path, in that case, the location has to be completed with the custom API path " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_expense_categ_id +msgid "The expense is accounted for when a vendor bill is validated, except in anglo-saxon accounting with perpetual inventory valuation in which case the expense (Cost of Goods Sold account) is recognized at the customer invoice validation." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_position_id +msgid "The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__name +msgid "The name that will be used on account move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__product_count +msgid "The number of products under this category (Does not consider the children categories)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__account_id +msgid "The partner account used for this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "The partner has at least one unreconciled debit and credit since last time the invoices & payments matching was performed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__tz +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__tz +msgid "The partner's timezone, used to output proper date and time values inside printed reports. It is important to set a value for this field. You should use the same timezone that is otherwise used to pick and render date and time values: your computer's timezone." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__reference +msgid "The payment communication of this sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reference +msgid "The payment communication that will be automatically populated once the invoice validation. You can also write a free communication." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__currency_rate +msgid "The rate of the currency to the currency of rate 1 applicable at the date of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__lst_price +msgid "The sale price is managed from the product template. Click on the 'Configure Variants' button to set the extra attribute prices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_customer +msgid "The stock location used as destination when sending goods to this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "The stock location used as source when receiving goods from this contact." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount_tax +msgid "The tax amount computed in Odoo doesn't match with the tax amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if necessary." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__volume +msgid "The volume in m3." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:41 +#, python-format +msgid "The wizard must be launched from a magento backend model" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:45 +#, python-format +msgid "The wizard must be launched on a single magento backend instance" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "This account will be used instead of the default one as the payable account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "This account will be used instead of the default one as the receivable account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_income_categ_id +msgid "This account will be used when validating a customer invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image +msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_variant +msgid "This field holds the image used as image for the product variant, limited to 1024x1024px." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__commitment_date +msgid "This is the delivery date promised to the customer. If set, the delivery order will be scheduled based on this date rather than product lead times." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__price_extra +msgid "This is the sum of the extra price of all attributes" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "This option should respect the same\n" +" configuration as Magento. Pay\n" +" attention to the taxes on the products,\n" +" which should surely include prices when\n" +" this option is activated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "This payment term will be used instead of the default one for purchase orders and vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "This payment term will be used instead of the default one for sales orders and customer invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_product_pricelist +msgid "This pricelist will be used, instead of the default one, for sales to the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_production +msgid "This stock location will be used, instead of the default one, as the source location for stock moves generated by manufacturing orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_inventory +msgid "This stock location will be used, instead of the default one, as the source location for stock moves generated when you do an inventory." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__responsible_id +msgid "This user will be responsible of the next activities related to logistic operations for this product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz +msgid "Timezone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz_offset +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__title +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__title +msgid "Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_to_invoice +msgid "To Invoice Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__token +msgid "Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_total +msgid "Total" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount +msgid "Total Amount differs from Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__total_invoiced +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__total_invoiced +msgid "Total Invoiced" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit +msgid "Total Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit +msgid "Total Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_tax +msgid "Total Tax" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount_tax +msgid "Total Tax Amount differs from Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount +msgid "Total amount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total amount in the currency of the company, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total amount in the currency of the invoice, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__credit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount_tax +msgid "Total amount w. tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__debit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__total_route_ids +msgid "Total routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__service_type +msgid "Track Service" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tracking +msgid "Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_ref +msgid "Tracking Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_url +msgid "Tracking URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__transaction_ids +msgid "Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__type +msgid "Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__type_name +msgid "Type Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_code +msgid "Type of Operation" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_website/importer.py:21 +#, python-format +msgid "Undefined" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_name +msgid "Unit of Measure Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of measurement for Weight" +msgstr "" + +#. module: connector_magento +#: model:product.product,uom_name:connector_magento.product_product_rewards +#: model:product.product,uom_name:connector_magento.product_product_store_credit +#: model:product.template,uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,uom_name:connector_magento.product_product_store_credit_product_template +msgid "Unit(s)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_untaxed +msgid "Untaxed Amount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_to_invoice +msgid "Untaxed Amount To Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_signed +msgid "Untaxed Amount in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_invoice_signed +msgid "Untaxed Amount in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_invoiced +msgid "Untaxed Invoiced Amount" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update all the products stock quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__updated_at +msgid "Updated At (on Magento)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__location +msgid "Url to magento application" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +#: selection:magento.product.product,manage_stock:0 +msgid "Use Default Config" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_auth_basic +msgid "Use HTTP Auth Basic" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_auth_basic +msgid "Use a Basic Access Authentication for the API. The Magento server could be configured to restrict access using a HTTP authentication based on a username and a password." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__type +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__type +msgid "Used by Sales and Purchase Apps to select the relevant address depending on the context." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_custom_attribute_value_ids +msgid "User entered custom product attribute values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__username +msgid "Username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_ids +msgid "Users" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_archived_variant_ids +msgid "Valid Archived Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_existing_variant_ids +msgid "Valid Existing Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +msgid "Valid Product Attribute Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Valid Product Attribute Lines Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +msgid "Valid Product Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +msgid "Valid Product Attribute Values Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_ids +msgid "Valid Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +msgid "Valid Product Attributes Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__validity_date +msgid "Validity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__validity_date +msgid "Validity date of the quotation, after this date, the customer won't be able to validate the quotation online." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valuation +msgid "Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value +msgid "Value" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_variant +msgid "Variant Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price_extra +msgid "Variant Price Extra" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__variant_seller_ids +msgid "Variant Seller" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Vendor Bill" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_display_name +msgid "Vendor Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "Vendor Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Vendor Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__seller_ids +msgid "Vendors" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__verify_ssl +msgid "Verify SSL certificate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__version +msgid "Version" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__volume +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__volume +msgid "Volume" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__warehouse_id +msgid "Warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__warehouse_id +msgid "Warehouse used to compute the stock quantities." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/common.py:188 +#, python-format +msgid "We have to import the product before we can provide the admin link to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__password +msgid "Webservice password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__username +msgid "Webservice user" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__website_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website +msgid "Website" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_website +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Websites" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight +msgid "Weight" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_id +msgid "Weight Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__shipping_weight +msgid "Weight for Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__weight +msgid "Weight of the product, packaging not included. The unit of measure can be changed in the general settings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_name +msgid "Weight unit of measure label" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +msgid "When doing real-time inventory valuation, counterpart journal items for all incoming stock moves will be posted in this account, unless there is a specific valuation account set on the source location. This is the default value for all products in this category. It can also directly be set on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_input +msgid "When doing real-time inventory valuation, counterpart journal items for all incoming stock moves will be posted in this account, unless there is a specific valuation account set on the source location. When not set on the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +msgid "When doing real-time inventory valuation, counterpart journal items for all outgoing stock moves will be posted in this account, unless there is a specific valuation account set on the destination location. This is the default value for all products in this category. It can also directly be set on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_output +msgid "When doing real-time inventory valuation, counterpart journal items for all outgoing stock moves will be posted in this account, unless there is a specific valuation account set on the destination location. When not set on the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_journal +msgid "When doing real-time inventory valuation, this is the Accounting Journal in which entries will be automatically posted when stock moves are processed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "When real-time inventory valuation is enabled on a product, this account will hold the current value of the products." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__is_locked +msgid "When the picking is not done this allows changing the initial demand. When the picking is done this allows changing the done quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_id +msgid "You can find a contact by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "You can find a customer by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__zip +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__zip +msgid "Zip" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "choose" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__import_orders_from_date +msgid "do not consider non-imported sale orders before this date. Leave empty to import all sale orders" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com/admin" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "get" +msgstr "" + +#. module: connector_magento +#: model:product.product,weight_uom_name:connector_magento.product_product_rewards +#: model:product.product,weight_uom_name:connector_magento.product_product_store_credit +#: model:product.template,weight_uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,weight_uom_name:connector_magento.product_product_store_credit_product_template +msgid "kg" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "mag-" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner_category +msgid "magento.res.partner.category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__amount_by_group +msgid "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__warehouse_id +msgid "warehouse" +msgstr "" + diff --git a/connector_magento/i18n/de.po b/connector_magento/i18n/de.po new file mode 100644 index 000000000..573313490 --- /dev/null +++ b/connector_magento/i18n/de.po @@ -0,0 +1,5435 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * connector_magento +# +# Translators: +# FIRST AUTHOR , 2014 +msgid "" +msgstr "" +"Project-Id-Version: connector-magento (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-07-22 09:38+0000\n" +"PO-Revision-Date: 2015-07-08 12:07+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: German (http://www.transifex.com/oca/OCA-connector-" +"magento-8-0/language/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__state +msgid "" +" * Draft: not confirmed yet and will not be scheduled until confirmed.\n" +" * Waiting Another Operation: waiting for another move to proceed before it " +"becomes automatically available (e.g. in Make-To-Order flows).\n" +" * Waiting: if it is not ready to be sent because the required products " +"could not be reserved.\n" +" * Ready: products are reserved and ready to be sent. If the shipping policy " +"is 'As soon as possible' this happens as soon as anything is reserved.\n" +" * Done: has been processed, can't be modified or cancelled anymore.\n" +" * Cancelled: has been cancelled, can't be confirmed anymore." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__state +msgid "" +" * The 'Draft' status is used when a user is encoding a new and unconfirmed " +"Invoice.\n" +" * The 'Open' status is used when user creates invoice, an invoice number is " +"generated. It stays in the open status till the user pays the invoice.\n" +" * The 'In Payment' status is used when payments have been registered for " +"the entirety of the invoice in a journal configured to post entries at bank " +"reconciliation only, and some of them haven't been reconciled with a bank " +"statement line yet.\n" +" * The 'Paid' status is set automatically when the invoice is paid. Its " +"related journal entries may or may not be reconciled.\n" +" * The 'Cancelled' status is used when user cancel invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_count +msgid "# Product Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__product_count +#, fuzzy +msgid "# Products" +msgstr "Produkt" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__magento_order_id +msgid "'order_id' field in Magento" +msgstr "'order_id' Feld in Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "(recompute)" +msgstr "(neuberechnen)" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +msgid "A Magento binding for this invoice already exists." +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.backend:0 +msgid "A backend with the same sale prefix already exists" +msgstr "Ein Backend mit gleichem Verkaufs-Präfix besteht bereits" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 sql_constraint:magento.address:0 +#: sql_constraint:magento.binding:0 sql_constraint:magento.product.category:0 +#: sql_constraint:magento.product.product:0 +#: sql_constraint:magento.res.partner:0 +#: sql_constraint:magento.res.partner.category:0 +#: sql_constraint:magento.sale.order:0 sql_constraint:magento.sale.order.line:0 +#: sql_constraint:magento.stock.picking:0 sql_constraint:magento.store:0 +#: sql_constraint:magento.storeview:0 sql_constraint:magento.website:0 +msgid "A binding already exists with the same Magento ID." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__description_sale +msgid "" +"A description of the Product that you want to communicate to your customers. " +"This description will be copied to every Sales Order, Delivery Order and " +"Customer Invoice/Credit Note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "" +"A parent sales order has been canceled on the backend and needs to be " +"canceled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_id +msgid "A parent sales order is a sales order replaced by this one." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order needs cancel" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.address:0 +msgid "A partner address can only have one binding by backend." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__sale_prefix +msgid "" +"A prefix put before the name of imported sales orders.\n" +"For instance, if the prefix is 'mag-', the sales order 100000692 in Magento, " +"will be named 'mag-100000692' in Odoo." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "API" +msgstr "API" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_warning +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_warning +msgid "Access warning" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "" +"According to product configuration, the delivered quantity can be " +"automatically computed by mechanism :\n" +" - Manual: the quantity is set manually on the line\n" +" - Analytic From expenses: the quantity is the quantity sum from posted " +"expenses\n" +" - Timesheet: the quantity is the sum of hours recorded on tasks linked to " +"this sale line\n" +" - Stock Moves: the quantity comes from confirmed pickings\n" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__account_id +msgid "Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date +msgid "Accounting Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__bank_account_required +msgid "" +"Activate this option if this payment method requires you to know the bank " +"account number of your customer or supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__active +msgid "Active" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_ids +msgid "Activities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_state +msgid "Activity State" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__comment +#, fuzzy +msgid "Additional Information" +msgstr "Informationen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__additional_info +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__additional_info +msgid "Additional info" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__type +msgid "Address Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_magento_order_address +msgid "Address from a Magento Order" +msgstr "Adresse von einer Magento Bestellung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__admin_location +msgid "Admin Location" +msgstr "Admin-Ort" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Advanced Configuration" +msgstr "Erweiterte Einstellungen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__all_qty_delivered +msgid "All quantities delivered" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__lang +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this " +"language." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:76 +#, python-format +msgid "Already exported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/importer.py:374 +#, python-format +msgid "Already imported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:200 +#, python-format +msgid "Already up-to-date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_undiscounted +msgid "Amount Before Discount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual +msgid "Amount Due" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Amount Due in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_signed +msgid "Amount Due in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__consider_as_company +msgid "" +"An account imported with a 'company' in the billing address is considered as " +"a company.\n" +" The partner takes the name of the company and is not merged with the " +"billing address." +msgstr "" +"Ein Konto, welches ein Unternehmen als Rechnungsanschrift führt, wird als " +"Unternehmen betrachtet.\n" +"Der Partner bekommt den Namen des Unternehmens und wird nicht mit der " +"Rechnungsanschrift zusammengeführt." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__account_analytic_id +msgid "Analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_line_ids +msgid "Analytic lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__token +msgid "" +"Authentication token for Magento 2.0+. See https://devdocs. magento.com/" +"guides/v2.3/get-started/authentication/gs-authentication-token.html" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__authorized_transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__authorized_transaction_ids +msgid "Authorized Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Auto-complete from a past bill." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__workflow_process_id +msgid "Automatic Workflow" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__available_carrier_ids +msgid "Available Carriers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_id +#, fuzzy +msgid "Back Order of" +msgstr "Auftrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_ids +msgid "Back Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_backend +msgid "Backends" +msgstr "Backends" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_account_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_account_count +msgid "Bank" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "" +"Bank Account Number to which the invoice will be paid. A Company bank " +"account if this is a Customer Invoice or Vendor Credit Note, otherwise a " +"Partner bank account number." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Bank Account Required" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_ids +msgid "Banks" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__barcode +msgid "Barcode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__base_media_url +msgid "Base Media Url" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__base_media_url +msgid "" +"Base URL to retrieve product images. Used for Magento2 only. For example: " +"http://magento/media" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic Auth. Password" +msgstr "Einfaches Auth.-Passwort" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic Auth. Username" +msgstr "Einfacher Auth.-Benutzername" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic access authentication web server side password" +msgstr "Einfache Zugriffs-Authentifizierung, Web-Server-seitiges Passwort" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic access authentication web server side username" +msgstr "Einfache Zugriffs-Authentifizierung, Web-Server-seitiger Benutzername" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image +msgid "Big-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__birthday +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_users__birthday +msgid "Birthday" +msgstr "Geburtstag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_bounce +msgid "Bounce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_bulk +msgid "Bulk Weight" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#, fuzzy +msgid "" +"By clicking on the buttons,\n" +" you will initiate the synchronizations\n" +" with Magento.\n" +" Note that the import or exports\n" +" won't be done directly,\n" +" they will create 'Jobs'\n" +" executed as soon as possible." +msgstr "" +"Beim Klicken des Buttons,\n" +" weden Sie die Synchronisation mit " +"Magento initialisieren.\n" +" Beachten Sie dass Im- und Exporte " +"nicht direkt erldedigt werden. \n" +" Es werden 'Arbeitsschritte' erstellt, " +"die dies so früh wie möglich erledigen." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_updatable +msgid "Can Edit Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__purchase_ok +msgid "Can be Purchased" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__rental +msgid "Can be Rent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_ok +msgid "Can be Sold" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Cancel" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:113 +#, python-format +msgid "Cancel sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__canceled_in_backend +msgid "Canceled in backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:71 +#, python-format +msgid "" +"Canceled: the delivery order does not contain lines from the original sale " +"order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__cancellation_resolved +msgid "Cancellation from the backend resolved" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_id +msgid "Carrier" +msgstr "Frachtführer" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Cash Rounding Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_from_categ_ids +msgid "Category Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__channel_ids +msgid "Channels" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "" +"Check if the storeview is active in Magento but its sales orders should not " +"be imported." +msgstr "" +"Anwählen, wenn die Storeview in Magento aktiv ist, Verkaufsaufträge jedoch " +"nicht importiert werden sollen." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__has_packages +msgid "Check the existence of destination packages on move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Check the existence of pack operation on the picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer +msgid "" +"Check this box if this contact is a customer. It can be selected in sales " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier +msgid "" +"Check this box if this contact is a vendor. It can be selected in purchase " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__employee +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__no_stock_sync +msgid "Check this to exclude the product from stock synchronizations." +msgstr "" +"Auswählen, wenn das Produkt von der Bestandssynchronisierung ausgeschlossen " +"sein sollen." + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_backend/common.py:246 +#, python-format +msgid "" +"Check your configuration, we can't get the data. Here is the error:\n" +"%s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__child_id +#, fuzzy +msgid "Child Categories" +msgstr "Untergeordnete Magento Kategorien" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__child_ids +msgid "Child Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__product_stock_field_id +msgid "" +"Choose the field of the product which will be used for stock inventory " +"updates.\n" +"If empty, Quantity Available is used." +msgstr "" +"Wählen Sie das Feld des Produktes, welches für Lagerinventar Updates benutzt " +"wird. \n" +"Wenn leer, wird die verfügbare Menge benutzt." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__city +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__city +msgid "City" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Close" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__code +msgid "Code" +msgstr "Code" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__color +msgid "Color Index" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__commitment_date +msgid "Commitment Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref_company_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__company_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Company" +msgstr "Unternehmen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_currency_id +#, fuzzy +msgid "Company Currency" +msgstr "Unternehmen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_name +#, fuzzy +msgid "Company Name" +msgstr "Unternehmen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_company_name +#, fuzzy +msgid "Company Name Entity" +msgstr "Errechnete Menge" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_type +#, fuzzy +msgid "Company Type" +msgstr "Unternehmen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_gid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_users__company +msgid "Company name (in Magento)" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Complete" +msgstr "Vollständig" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contact_address +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contact_address +#, fuzzy +msgid "Complete Address" +msgstr "Vollständig" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__complete_name +msgid "Complete Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__effective_date +msgid "Completion date of the first delivery order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_qty +msgid "Computed Quantity" +msgstr "Errechnete Menge" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__confirmation_date +#, fuzzy +msgid "Confirmation Date" +msgstr "Hauptkonfiguration" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__consider_as_company +msgid "Considered as company" +msgstr "Als Unternehmen betrachtet" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner +msgid "Contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__child_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__child_ids +msgid "Contacts" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contracts_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__standard_price +msgid "Cost" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_currency_id +msgid "Cost Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_method +msgid "Cost Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__standard_price +msgid "" +"Cost used for stock valuation in standard price and as a first price to set " +"in average/fifo. Also used as a base price for pricelists. Expressed in the " +"default unit of measure of the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_cost_method +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_cost_method +#, fuzzy +msgid "Costing Method" +msgstr "Packmethode" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__country_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__country_id +msgid "Country" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +msgid "Create invoice on" +msgstr "Rechnung anlegen zu" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_payment_mode__create_invoice_on +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_invoice_on +msgid "Create invoice on action" +msgstr "Rechnung anlegen bei Ereignis" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__created_at +msgid "Created At (on Magento)" +msgstr "Erstellt am (in Magento)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_uid +msgid "Created by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_date +msgid "Created on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date +msgid "Creation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date +msgid "Creation Date, usually the time of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__currency_id +msgid "Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__qty_available +msgid "" +"Current quantity of products.\n" +"In a context with a single Stock Location, this includes goods stored at " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"stored in the Stock Location of the Warehouse of this Shop, or any of its " +"children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_custom_api_path +msgid "Custom Api Path" +msgstr "Angepasster API-Pfad" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_partner_id +#, fuzzy +msgid "Customer" +msgstr "Gastkunde" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_delay +msgid "Customer Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_customer +#, fuzzy +msgid "Customer Location" +msgstr "Admin-Ort" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer_payment_mode_id +#, fuzzy +msgid "Customer Payment Mode" +msgstr "Zahlweise" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__partner_ref +#, fuzzy +msgid "Customer Ref" +msgstr "Gastkunde" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__client_order_ref +msgid "Customer Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__taxes_id +msgid "Customer Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__date +msgid "Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date_done +msgid "Date at which the transfer has been processed or cancelled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date_done +msgid "Date of Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__confirmation_date +msgid "Date on which the sales order is confirmed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_billing +msgid "Default Invoice" +msgstr "Voreingestellte Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_lang_id +msgid "Default Language" +msgstr "Standardsprache" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__owner_id +#, fuzzy +msgid "Default Owner" +msgstr "Voreingestellte Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_category_id +msgid "Default Product Category" +msgstr "Voreingestellte Produktkategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_shipping +msgid "Default Shipping" +msgstr "Vorgegebener Versand" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Default taxes used when buying the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__taxes_id +msgid "Default taxes used when selling the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_id +msgid "Default unit of measure used for all stock operations." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_po_id +msgid "" +"Default unit of measure used for purchase orders. It must be in the same " +"category as the default unit of measure." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__seller_ids +msgid "Define vendor pricelists." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "" +"Defines the smallest coinage of the currency that can be used to pay by cash." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__trust +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_manual +msgid "Delivered Manually" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered +msgid "Delivered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_shipping_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Delivery Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_message +msgid "Delivery Message" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_count +#, fuzzy +msgid "Delivery Orders" +msgstr "Magento-Versandauftrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_rating_success +msgid "Delivery Rating Success" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__expected_date +msgid "" +"Delivery date you can promise to the customer, computed from product lead " +"times and from the shipping policy of the order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_delay +msgid "" +"Delivery lead time, in days. It's the number of days, promised to the " +"customer, between the confirmation of the sales order and the delivery." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__route_ids +msgid "" +"Depending on the modules installed, this will allow you to define the route " +"of the product: whether it will be bought, manufactured, MTO, etc." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__name +msgid "Description" +msgstr "Beschreibung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingout +msgid "Description on Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_picking +#, fuzzy +msgid "Description on Picking" +msgstr "Beschreibung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingin +msgid "Description on Receptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_dest_id +msgid "Destination Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__display_name +msgid "Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_type +msgid "Display Type" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Do Not Manage Stock" +msgstr "Kein Lager verwalten" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "" +"Does the invoice export/creation should send an email notification on " +"Magento side?" +msgstr "" +"Soll bei Erstellung/Export der Rechnung eine E-Mail aus Magento versendet " +"werden?" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_picking_done_mail +msgid "" +"Does the picking export/creation should send an email notification on " +"Magento side?" +msgstr "" +"Soll bei Erstellung / Export eines Lieferscheins eine E-Mail aus Magento " +"versendet werden?" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "" +"Down payments are made when creating invoices from a sales order. They are " +"not copied when duplicating a sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_due +msgid "Due Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__emailid +msgid "E-mail address" +msgstr "E-Mail Adresse" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__effective_date +msgid "Effective Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email +msgid "Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__employee +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__employee +msgid "Employee" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__enabled +msgid "Enabled" +msgstr "Aktiviert" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tracking +msgid "Ensure the traceability of a storable product in your warehouse." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_price +#, fuzzy +msgid "Estimated Delivery Price" +msgstr "Magento-Versandauftrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exception_ids +#, fuzzy +msgid "Exceptions" +msgstr "Optionen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exceptions_summary +msgid "Exceptions Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_expense_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Expense Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__expense_policy +msgid "" +"Expenses and vendor bills can be re-invoiced to a customer.With this option, " +"a validated expense can be re-invoice to a customer at its cost or sales " +"price." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_export_tracking +msgid "Export tracking numbers" +msgstr "Exportiere Sendungsverfolgungsnummern" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_ids +msgid "Extra categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__data +msgid "File" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__name +#, fuzzy +msgid "File Name" +msgstr "Name" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__carrier_id +msgid "Fill this field if you plan to invoice the shipping based on picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__fiscal_position_id +msgid "Fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Force Removal Strategy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__virtual_available +#, fuzzy +msgid "Forecast Quantity" +msgstr "Errechnete Menge" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__virtual_available +msgid "" +"Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n" +"In a context with a single Stock Location, this includes goods stored in " +"this location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Get" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__packaging_ids +msgid "Gives the different ways to package the same product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sequence +msgid "Gives the sequence order when displaying a product list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__guest_customer +msgid "Guest Customer" +msgstr "Gastkunde" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hs_code +#, fuzzy +msgid "HS Code" +msgstr "Code" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "HTTP Authentication" +msgstr "HTTP Authentifizierung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__has_checkpoint +msgid "Has Checkpoint" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__has_outstanding +msgid "Has Outstanding" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Has Pack Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_packages +msgid "Has Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_scrap_move +msgid "Has Scrap Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_tracking +msgid "Has Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__need_cancel +msgid "Has been canceled on the backend, need to be canceled." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Here is the file with information read drom the backend:" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hide_expense_policy +msgid "Hide Expense Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__id +msgid "ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__external_id +msgid "ID on Magento" +msgstr "ID in Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__im_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__im_status +msgid "IM Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_category_id +msgid "" +"If a default category is selected, products imported without a category will " +"be linked to it." +msgstr "" +"Durch eine vor-eingestellte Standard Kategorie, werden alle Produkte, ohne " +"irgendeine Kategorie dann mit dieser verlinkt." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_lang_id +msgid "" +"If a default language is selected, the records will be imported in the " +"translation of this language.\n" +"Note that a similar configuration exists for each storeview." +msgstr "" +"Wenn Vorgabesprache ausgewählt, werden die Datensätze in der Übersetzung " +"dieser Sprache importiert.\n" +"Eine entsprechende Einstellung gibt es auch je Storeview." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__team_id +msgid "" +"If set, this Sales Team will be used for sales and assignations related to " +"this partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "" +"If specified, this fiscal position will be used to fill the field fiscal " +"position on the sale order created by the connector.The value can also be " +"specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_warehouse_id +msgid "" +"If specified, this warehouse will be used to load fill the field warehouse " +"(and company) on the sale order created by the connector.The value can also " +"be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_website__is_multi_company +msgid "" +"If this flag is set, it is possible to choose warehouse at each level. When " +"import partner, ignore company_id if this flag is set." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__backorder_id +msgid "" +"If this shipment was split, then this field links to the shipment which " +"contains the already processed part." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "If ticked, you will be able to select entire packages to move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__active +msgid "" +"If unchecked, it will allow you to hide the product without removing it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__picking_policy +msgid "" +"If you deliver all products at once, the delivery order will be scheduled " +"based on the greatest product lead time. Otherwise, it will be based on the " +"shortest." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__payment_term_id +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. If you keep the payment terms and the due " +"date empty, it means direct payment. The payment terms may compute several " +"due dates, for example 50% now, 50% in one month." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_due +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. The Payment terms may compute several due " +"dates, for example 50% now and 50% in one month, but if you want to force a " +"due date, make sure that the payment term is not set on the invoice. If you " +"keep the Payment terms and the due date empty, it means direct payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__ignore_exception +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__ignore_exception +#, fuzzy +msgid "Ignore Exceptions" +msgstr "Sortimentsoptionen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image +msgid "Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__product_image +msgid "" +"Image of the product variant (Big-sized image of product template if false). " +"It is automatically resized as a 1024x1024px image, with aspect ratio " +"preserved." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_medium +msgid "" +"Image of the product variant (Medium-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_small +msgid "" +"Image of the product variant (Small-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__immediate_transfer +msgid "Immediate Transfer" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders" +msgstr "Importiere VK-Aufträge" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders since" +msgstr "Importiere VK-Aufträge seit" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import all customer groups" +msgstr "Importiere alle Kundengruppen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_categories_from_date +msgid "Import categories from date" +msgstr "Importiere Kategorien ab Datum" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import in background" +msgstr "Importiere im Hintergrund" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import partners from all websites" +msgstr "Importiere Partner von allen Webseiten" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__import_partners_from_date +msgid "Import partners from date" +msgstr "Importiere Partner seit Datum" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import partners since" +msgstr "Importiere Partner seit" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products categories since" +msgstr "Importiere Produktkategorien seit" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_products_from_date +msgid "Import products from date" +msgstr "Importiere Produkte vom Datum" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products since" +msgstr "Importiere/Update Produkte seit" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__import_orders_from_date +msgid "Import sale orders from date" +msgstr "Importiere VK-Aufträge vom Datum" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import sales orders from all store views" +msgstr "Importiere Aufträge von allen Store Views" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Imports" +msgstr "Importe" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_internal_id +msgid "" +"In Magento2, we have to keep track of both the external_id (the product SKU) " +"which is used in the Magento2 REST API, as well as the Magento internal id " +"as used in the admin URL." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_income_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_income_id +msgid "Income Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__incoming_qty +msgid "Incoming" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterm_id +msgid "Incoterm" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterms_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__incoterm +msgid "Incoterms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterms_id +msgid "" +"Incoterms are series of sales terms. They are used to divide transaction " +"costs and responsibilities between buyer and seller and reflect state-of-the-" +"art transportation practices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__industry_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__industry_id +msgid "Industry" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Informations" +msgstr "Informationen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__default_code +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref +msgid "Internal Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__barcode +msgid "International Article Number used for product identification." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterm_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__incoterm +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_inventory +#, fuzzy +msgid "Inventory Location" +msgstr "Sortimentsoptionen" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "Inventory Options" +msgstr "Sortimentsoptionen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_valuation +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_valuation +#, fuzzy +msgid "Inventory Valuation" +msgstr "Sortimentsoptionen" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_invoice +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn +msgid "Invoice" +msgstr "Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_invoice_id +#, fuzzy +msgid "Invoice Address" +msgstr "Magento-Adresse" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_count +msgid "Invoice Count" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/account_invoice/exporter.py:25 +#, python-format +msgid "Invoice Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_invoice +#, fuzzy +msgid "Invoice Date" +msgstr "Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_icon +msgid "Invoice Icon" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_line_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_lines +#, fuzzy +msgid "Invoice Lines" +msgstr "Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_shipping_on_delivery +msgid "Invoice Shipping on Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_status +#, fuzzy +msgid "Invoice Status" +msgstr "Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_id +msgid "Invoice for which this invoice is the credit note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_invoiced +msgid "Invoiced Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_ids +#, fuzzy +msgid "Invoices" +msgstr "Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__invoice_policy +msgid "Invoicing Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__is_multi_company +msgid "Is Backend Multi-Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__is_locked +msgid "Is Locked" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__is_product_variant +msgid "Is Product Variant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_company +#, fuzzy +msgid "Is a Company" +msgstr "Unternehmen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer +#, fuzzy +msgid "Is a Customer" +msgstr "Gastkunde" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_delivery +msgid "Is a Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Is a down payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is expense" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__is_expired +msgid "Is expired" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is true if the sales order line comes from an expense or a vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reconciled +msgid "" +"It indicates that the invoice has been paid and the journal entry of the " +"invoice has been reconciled with one or several journal entries of payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__sent +msgid "It indicates that the invoice has been sent." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_type +msgid "It specifies goods to be deliver partially or all at once" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__function +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__function +msgid "Job Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_id +msgid "Journal Entry" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_name +msgid "Journal Entry Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__journal_item_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_invoice +msgid "Keep empty to use the current date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date +msgid "Keep empty to use the invoice date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_income_id +msgid "" +"Keep this field empty to use the default value from the product category." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_expense_id +msgid "" +"Keep this field empty to use the default value from the product category. If " +"anglo-saxon accounting with automated valuation method is configured, the " +"expense account on the product category will be used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__lang_id +msgid "Language" +msgstr "Sprache" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_address____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_store____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_website____last_update +msgid "Last Modified on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_date +msgid "Last Updated on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_qty +msgid "Last computed quantity to send on Magento." +msgstr "Zuletzt errechnete Anzahl die zu Magento geschickt wird." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sync_date +msgid "Last synchronization date" +msgstr "Letzte Synchronisierung" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "" +"Last time the invoices & payments matching was performed for this partner. " +"It is set either if there's not at least an unreconciled debit and an " +"unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_id +msgid "Link to the automatically generated Journal Items." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__location +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__location_id +msgid "Location" +msgstr "Standort" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_root +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_delivery_carrier_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_category_form +msgid "Magento" +msgstr "Magento" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_categories_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_categories +#: model:ir.cron,name:connector_magento.ir_cron_import_product_categories +msgid "Magento - Import Product Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_product_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_product +#: model:ir.cron,name:connector_magento.ir_cron_import_product_product +msgid "Magento - Import Products" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_update_product_stock_qty_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_update_product_stock_qty +#: model:ir.cron,name:connector_magento.ir_cron_update_product_stock_qty +msgid "Magento - Update Stock Quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_customer_groups_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_customer_groups +#: model:ir.cron,name:connector_magento.ir_cron_import_customer_groups +msgid "Magento - Import Customer Groups" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_partners_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_partners +#: model:ir.cron,name:connector_magento.ir_cron_import_partners +msgid "Magento - Import Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_sale_orders_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_sale_orders +#: model:ir.cron,name:connector_magento.ir_cron_import_sale_orders +msgid "Magento - Import Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_address +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_tree +msgid "Magento Address" +msgstr "Magento-Adresse" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_address_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Magento Address Bindings" +msgstr "Magento-Addresszuordnung" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_backend +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__backend_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_tree +msgid "Magento Backend" +msgstr "Magento-Backend" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_backend +msgid "Magento Backends" +msgstr "Magento-Backends" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_carrier_code +#, fuzzy +msgid "Magento Base Carrier Code" +msgstr "Magento-Schüssel Spediteur" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding +msgid "Magento Binding (abstract)" +msgstr "Magento Zuordnung (abstrakt)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_binding_model +msgid "Magento Binding Model" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_stock_picking__magento_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:connector_magento.view_invoice_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_sale_order_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_stock_picking_out_magento_form +msgid "Magento Bindings" +msgstr "Magento-Zuordnungen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_code +msgid "Magento Carrier Code" +msgstr "Magento-Schüssel Spediteur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_child_ids +msgid "Magento Child Categories" +msgstr "Untergeordnete Magento Kategorien" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Magento Configuration" +msgstr "Magento-Einstellungen" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_config_specializer +msgid "Magento Configuration Specializer Mixin" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_stock_picking +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_tree +msgid "Magento Delivery Order" +msgstr "Magento-Versandauftrag" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding_backend_read +msgid "Magento Generic Object Reader Wizard" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__group_id +msgid "Magento Group (Category)" +msgstr "Magento Gruppe (Kategorie)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_id +#, fuzzy +msgid "Magento Id" +msgstr "Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_internal_id +msgid "Magento Internal" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_account_invoice +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_tree +msgid "Magento Invoice" +msgstr "Magento-Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_id +msgid "Magento Order ID" +msgstr "Magento-Bestell ID" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_line_ids +msgid "Magento Order Lines" +msgstr "Magento-Auftragszeilen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_parent_id +msgid "Magento Parent Category" +msgstr "Magento-Überkategorie" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_partner_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_tree +msgid "Magento Partner" +msgstr "Magento-Partner" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_product +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_tree +msgid "Magento Product" +msgstr "Magento-Produkt" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_category +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_tree +msgid "Magento Product Category" +msgstr "Magento-Produktkategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_type +msgid "Magento Product Type" +msgstr "Magento-Produkttyp" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_binding_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__product_binding_ids +msgid "Magento Products" +msgstr "Magento-Produkte" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_rewards +#: model:product.template,name:connector_magento.product_product_rewards_product_template +#, fuzzy +msgid "Magento Rewards" +msgstr "Magento-Backends" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_order_id +msgid "Magento Sale Order" +msgstr "Magento-Auftrag" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order_line +msgid "Magento Sale Order Line" +msgstr "Magento-Auftragszeile" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_tree +#, fuzzy +msgid "Magento Sales Orders" +msgstr "Magento-Auftrag" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_tree +msgid "Magento Store" +msgstr "Magento-Store" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_store_credit +#: model:product.template,name:connector_magento.product_product_store_credit_product_template +#, fuzzy +msgid "Magento Store Credit" +msgstr "Magento-Store" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_store +msgid "Magento Stores" +msgstr "Magento-Stores" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_storeview +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__storeview_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_tree +msgid "Magento Storeview" +msgstr "Magento-Storeview" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_storeview +msgid "Magento Storeviews" +msgstr "Magento-Storeviews" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_tracking_title +msgid "Magento Tracking Title" +msgstr "Magento-Sendungsverfolgungstitel" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__taxvat +msgid "Magento VAT" +msgstr "Magento-USt" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_website +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__website_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_tree +msgid "Magento Website" +msgstr "Magento-Webseite" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_website +msgid "Magento Websites" +msgstr "Magento-Webseiten" + +#. module: connector_magento +#: model:res.partner.category,name:connector_magento.category_no_account +msgid "Magento guest users" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:58 +#, python-format +msgid "Magento sales order is already in state %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Main Configuration" +msgstr "Hauptkonfiguration" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__main_exception_id +msgid "Main Exception" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backorders +msgid "Manage Inventory Backorders" +msgstr "Bestände zu Lieferrückständen" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Manage Stock" +msgstr "Bestandsverwaltung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__manage_stock +msgid "Manage Stock Level" +msgstr "Bestandsmengen" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__service_type +msgid "" +"Manually set quantities on order: Invoice based on the manually entered " +"quantity, without creating an analytic account.\n" +"Timesheets on contract: Invoice based on the tracked hours on the related " +"timesheet.\n" +"Create a task and track hours: Create a task on the sales order validation " +"and track the work hours." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_medium +msgid "" +"Medium-sized image of this contact. It is automatically resized as a " +"128x128px image, with aspect ratio preserved. Use this field in form views " +"or some kanban views." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn_msg +#, fuzzy +msgid "Message for Invoice" +msgstr "Magento-Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn_msg +#, fuzzy +msgid "Message for Sales Order" +msgstr "Magento-Auftrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn_msg +#, fuzzy +msgid "Message for Sales Order Line" +msgstr "Magento-Auftragszeile" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn_msg +#, fuzzy +msgid "Message for Stock Picking" +msgstr "Kommissionierung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_ids +msgid "Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "Method to update delivered qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__orderpoint_ids +msgid "Minimum Stock Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__mobile +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__mobile +msgid "Mobile" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "Move Entire Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__name +msgid "Name" +msgstr "Name" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signed_by +msgid "Name of the person that signed the SO." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__need_cancel +msgid "Need to be canceled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__newsletter +msgid "Newsletter" +msgstr "Newsletter" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next +msgid "Next Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next_prefix +msgid "Next Number Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "No Sales Order Synchronization" +msgstr "Keine Verkaufsauftrag-Synchronisation" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "No Sell" +msgstr "Kein Verkauf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__no_stock_sync +msgid "No Stock Synchronization" +msgstr "Keine Bestands-Synchronisation" + +#. module: connector_magento +#: code:addons/connector_magento/models/queue_job/common.py:26 +#, python-format +msgid "" +"No admin URL configured on the backend or no admin path is defined for this " +"record." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:79 +#, python-format +msgid "No tracking number to send." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__notes +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__note +msgid "Notes" +msgstr "Notizen" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:364 +#: code:addons/connector_magento/components/exporter.py:369 +#, python-format +msgid "Nothing to export." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__number +msgid "Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__customer_lead +msgid "" +"Number of days between the order confirmation and the shipping of the " +"products to the customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__odoo_id +msgid "Odoo Product" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#, fuzzy +msgid "" +"Once imported,\n" +" some types of records,\n" +" like the products or categories,\n" +" need a manual review.\n" +" You will find the list\n" +" of the new records to review\n" +" in the menu 'Connectors > Checkpoint'." +msgstr "" +"Einmal importiert,\n" +" einige Typen von Daten, \n" +" wie Produkte oder Kategorien, \n" +" brauchen eine manuelle Überprüfung.\n" +" Sie finden die Liste der zu prüfenden Daten " +"in dem \n" +" Menü 'Connectors > Prüfungen'." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_payment +msgid "Online Payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_signature +msgid "Online Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__verify_ssl +msgid "Only for Magento 2.0+" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_id +msgid "Operation Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids +msgid "Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids_without_package +msgid "Operations without package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_option_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sale_order_option_ids +msgid "Optional Products Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Options" +msgstr "Optionen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__date_order +msgid "Order Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__order_line +#, fuzzy +msgid "Order Lines" +msgstr "Auftragsposition" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_id +msgid "Order Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__state +msgid "Order Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom_qty +msgid "Ordered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__invoice_policy +msgid "" +"Ordered Quantity: Invoice quantities ordered by the customer.\n" +"Delivered Quantity: Invoice quantities delivered to the customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__outgoing_qty +msgid "Outgoing" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__outstanding_credits_debits_widget +msgid "Outstanding Credits Debits Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__owner_id +msgid "Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_packaging +msgid "Package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids +msgid "Package Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids_details +msgid "Package Level Ids Details" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_ids +msgid "Packages" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Paid" +msgstr "Bezahlt" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reconciled +msgid "Paid/Reconciled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_id +#, fuzzy +msgid "Parent Category" +msgstr "Partnerkategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_parent_id +msgid "Parent Magento Order" +msgstr "Übergeordneter Vk-Auftrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_id +#, fuzzy +msgid "Parent Order" +msgstr "Übergeordneter Vk-Auftrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_path +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_path +msgid "Parent Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_name +msgid "Parent name" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Partial" +msgstr "Teilweise" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__partner_id +msgid "Partner" +msgstr "Partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__odoo_id +msgid "Partner Category" +msgstr "Partnerkategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contract_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__partner_ids +#, fuzzy +msgid "Partners" +msgstr "Partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__password +msgid "Password" +msgstr "Passwort" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_mode_id +#, fuzzy +msgid "Payment Mode" +msgstr "Zahlweise" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_payment_mode +#, fuzzy +msgid "Payment Modes" +msgstr "Zahlweise" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_move_line_ids +#, fuzzy +msgid "Payment Move Lines" +msgstr "Magento-Auftragszeilen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reference +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__reference +msgid "Payment Ref." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_term_id +#, fuzzy +msgid "Payment Terms" +msgstr "Zahlweise" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_ids +#, fuzzy +msgid "Payment Tokens" +msgstr "Zahlweise" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_ids +#, fuzzy +msgid "Payments" +msgstr "Zahlweise" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payments_widget +msgid "Payments Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__phone +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__phone +msgid "Phone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_method +msgid "Picking Method" +msgstr "Packmethode" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price +msgid "Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce +msgid "Price Reduce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxexcl +msgid "Price Reduce Tax excl" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxinc +msgid "Price Reduce Tax inc" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__list_price +msgid "Price at which the product is sold to customers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_item_ids +msgid "Pricelist Item" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__item_ids +msgid "Pricelist Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__catalog_price_tax_included +msgid "Prices include tax" +msgstr "Preise inkl. Steuer" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_id +#, fuzzy +msgid "Pricing/Primary Category" +msgstr "Partnerkategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__printed +msgid "Printed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__priority +msgid "Priority" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__priority +msgid "" +"Priority for this picking. Setting manually a value here would set it as " +"priority for all the moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__procurement_group_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__group_id +msgid "Procurement Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_product +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__product_id +msgid "Product" +msgstr "Produkt" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_line_ids +msgid "Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_category +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__odoo_id +msgid "Product Category" +msgstr "Produktkategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_image +msgid "Product Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__packaging_ids +msgid "Product Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_tmpl_id +#, fuzzy +msgid "Product Template" +msgstr "Produktkategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__type +#, fuzzy +msgid "Product Type" +msgstr "Magento-Produkttyp" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_no_variant_attribute_value_ids +msgid "Product attribute values that do not create variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_production +#, fuzzy +msgid "Production Location" +msgstr "Admin-Ort" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_ids +#, fuzzy +msgid "Products" +msgstr "Produkt" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__delivery_type +msgid "Provider" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_purchase +#, fuzzy +msgid "Purchase Description" +msgstr "Beschreibung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_po_id +msgid "Purchase Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_at_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_qty +#, fuzzy +msgid "Quantity" +msgstr "Errechnete Menge" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_available +#, fuzzy +msgid "Quantity On Hand" +msgstr "Verkaufsmenge < 0" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__incoming_qty +msgid "" +"Quantity of planned incoming products.\n" +"In a context with a single Stock Location, this includes goods arriving to " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods arriving to the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods arriving to any Stock Location with " +"'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__outgoing_qty +msgid "" +"Quantity of planned outgoing products.\n" +"In a context with a single Stock Location, this includes goods leaving this " +"Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods leaving the Stock " +"Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods leaving any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_template_id +msgid "Quotation Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__expense_policy +msgid "Re-Invoice Policy" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Read Binding information from backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.magento_binding_backend_read_act_window +msgid "Read information from backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/deleter.py:20 +#, python-format +msgid "Record %s deleted on Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:191 +#, python-format +msgid "Record does no longer exist in Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:371 +#, python-format +msgid "Record exported with ID %s on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__name +msgid "Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__origin +msgid "Reference of the document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__origin +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__origin +msgid "Reference of the document that produced this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__name +#, fuzzy +msgid "Reference/Description" +msgstr "Beschreibung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_ids +msgid "Refund Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_id +#, fuzzy +msgid "Related Company" +msgstr "Unternehmen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__related_backorder_ids +msgid "Related backorders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__remaining_validity_days +msgid "Remaining Validity Days" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Remaining amount due in the currency of the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_signed +msgid "Remaining amount due in the currency of the invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual +msgid "Remaining amount due." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:136 +#, python-format +msgid "Reopen sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_max_qty +msgid "Reordering Max Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_min_qty +msgid "Reordering Min Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__nbr_reordering_rules +msgid "Reordering Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_signature +msgid "" +"Request a online signature to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_payment +msgid "" +"Request an online payment to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__responsible_id +msgid "Responsible" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__route_id +msgid "Route" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__route_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_ids +msgid "Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_sale +#, fuzzy +msgid "Sale Description" +msgstr "Beschreibung" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__odoo_id +msgid "Sale Order" +msgstr "Auftrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__odoo_id +msgid "Sale Order Line" +msgstr "Auftragsposition" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__sale_prefix +msgid "Sale Prefix" +msgstr "Verkaufs-Präfix" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__lst_price +#, fuzzy +msgid "Sale Price" +msgstr "Verkaufs-Präfix" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__workflow_process_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__workflow_process_id +msgid "Sale Workflow Process" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:53 +#, python-format +msgid "Sale is not linked with a Magento sales order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sale_id +msgid "Sales Order" +msgstr "Auftrag" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order_line +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn +msgid "Sales Order Line" +msgstr "Auftragsposition" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__list_price +msgid "Sales Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__team_id +msgid "Sales Team" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__salesman_id +#, fuzzy +msgid "Salesperson" +msgstr "Auftrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__scheduled_date +msgid "" +"Scheduled time for the first part of the shipment to be processed. Setting " +"manually a value here would set it as expected date for all the stock moves." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_token +msgid "Security Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__categ_id +msgid "Select category for the current product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_line_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__sale_warn +msgid "" +"Selecting the \"Warning\" option will notify user with the message, " +"Selecting \"Blocking Message\" will throw an exception with the message and " +"block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__self +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__self +msgid "Self" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0" +msgstr "Verkaufsmenge < 0" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0 and Use Customer Notification" +msgstr "Verkaufsmenge < 0 und benutzte Kundenbenachrichtigungen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Send email notification on invoice validated/paid" +msgstr "Sende EMail-Banachrichtigung bei geprüfter/bezahlter Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_picking_done_mail +msgid "Send email notification on picking done" +msgstr "Sende Versandbestätigung per E-Mail" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sent +msgid "Sent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sequence +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sequence +msgid "Sequence" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__removal_strategy_id +msgid "" +"Set a specific removal strategy that will be used regardless of the source " +"location for this product category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_share +#, fuzzy +msgid "Share Partner" +msgstr "Magento-Partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_price +msgid "Shipping Cost" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:24 +#, python-format +msgid "Shipping Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_policy +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_type +msgid "Shipping Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_account_payment_mode__create_invoice_on +#, fuzzy +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"If nothing is set, the option falls back to the same option on the Magento " +"store related to the sales order." +msgstr "" +"Soll die Rechnung angelegt werden, wenn sie geprüft wurde oder wenn Sie in " +"OpenERP als bezahlt gekennzeichnet wurde?\n" +"Ist nicht angegeben, wird auf die Einstellung aus dem zugehörigen Magento-" +"Shop verwendet." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__create_invoice_on +#, fuzzy +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"This only takes effect if the sales order's related payment method is not " +"giving an option for this by itself. (See Payment Methods)" +msgstr "" +"Soll die Rechnung angelegt werden, wenn der Auftrag geprüft wurde oder " +"wenner in OpenERP bezahlt wurde?\n" +"Diese Einstellung greift nur, wenn die Zahlweise die Wahl nicht vorwegnimmt. " +"(siehe Zahlweisen)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Show Check Availability" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_lots_text +msgid "Show Lots Text" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Show Mark As Todo" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_operations +msgid "Show Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_validate +msgid "Show Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signature +msgid "Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signature +msgid "Signature received through the portal." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signed_by +msgid "Signed by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_expiration +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_token +msgid "Signup Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_valid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_url +msgid "Signup URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_small +msgid "" +"Small-sized image of this contact. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sales_count +msgid "Sold" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sort_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sort_order +msgid "Sort Order" +msgstr "Sortierung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__origin +msgid "Source Document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__source_email +msgid "Source Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_id +msgid "Source Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_account_analytic_id +msgid "Specific analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "Specific fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_warehouse_id +msgid "Specific warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__hs_code +msgid "" +"Standardized code for international shipping and goods declaration. At the " +"moment, only used for the FedEx shipping provider." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__state_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__state_id +msgid "State" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:50 +#, python-format +msgid "State %s is not exported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__state +msgid "Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_stock_field_id +msgid "Stock Field" +msgstr "Bestandsfeld" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_manual_move_ids +msgid "Stock Fifo Manual Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_real_time_aml_ids +msgid "Stock Fifo Real Time Aml" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_input +msgid "Stock Input Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_journal +msgid "Stock Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_move_ids +msgid "Stock Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__move_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_lines +#, fuzzy +msgid "Stock Moves" +msgstr "Bestandsfeld" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_output +msgid "Stock Output Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__odoo_id +msgid "Stock Picking" +msgstr "Kommissionierung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Stock Quant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "Stock Valuation Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value_currency_id +msgid "Stock Value Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_ids_without_package +msgid "Stock moves not in package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__store_id +msgid "Store" +msgstr "Store" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__store_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Stores" +msgstr "Stores" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__store_id +#, fuzzy +msgid "Storeview" +msgstr "Storeviews" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__storeview_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_storeview +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +msgid "Storeviews" +msgstr "Storeviews" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street +msgid "Street" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street2 +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street2 +msgid "Street2" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier_payment_mode_id +#, fuzzy +msgid "Supplier Payment Mode" +msgstr "Zahlweise" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Synchronize Metadata" +msgstr "Synchronisiere Metadaten" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__name +#, fuzzy +msgid "Tag Name" +msgstr "Name" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__category_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__category_id +msgid "Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax +msgid "Tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__tax_class_id +msgid "Tax Class ID" +msgstr "Steuerart ID" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__vat +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__vat +msgid "Tax ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__tax_line_ids +msgid "Tax Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_rate +msgid "Tax Rate" +msgstr "Steuersatz" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_by_group +msgid "Tax amount by group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax groups are used with some external system like Prestashop" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax_signed +msgid "Tax in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_tax +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_id +msgid "Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_archived_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_existing_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Technical compute" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__display_type +msgid "Technical field for UX purpose." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_name +msgid "" +"Technical field holding the number given to the invoice, automatically set " +"when the invoice is validated then stored to set the same number again if " +"the invoice is cancelled, set to draft and re-validated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_check_availability +msgid "" +"Technical field used to compute whether the check availability button should " +"be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "" +"Technical field used to compute whether the mark as todo button should be " +"shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_validate +msgid "Technical field used to compute whether the validate should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__pricelist_id +msgid "" +"Technical field. Used for searching on pricelists, not stored in database." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_move_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_quant_ids +#, fuzzy +msgid "Technical: used to compute quantities." +msgstr "Lager für Bestände-Ermittlung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_template_attribute_value_ids +msgid "Template Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__note +msgid "Terms and conditions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__vat +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount +#, fuzzy +msgid "" +"The amount computed in Odoo doesn't match with the amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" +"Die in OpenERP errechnete Summe stimmt nicht mit der aus Magento überein.\n" +"\n" +"Grund:\n" +"Die Versteuerung sind in OpenERP und Magento verschieden eingestellt. Eine " +"geänderte Versteuerung hat die Endsumme evtl. verändert.\n" +"\n" +"Lösung:\n" +"Überprüfen Sie Steuern und Positionssummen und korrigieren Sie diese, falls " +"nötig." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__analytic_account_id +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:76 +#, python-format +msgid "The carrier %s does not export tracking numbers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__commercial_partner_id +msgid "" +"The commercial entity that will be used on Journal Entries for this invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__company_id +msgid "The company is automatically set from your user preferences." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/importer.py:328 +#, python-format +msgid "" +"The configurable product is not imported in Odoo, because only the simple " +"products are used in the sales orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_custom_api_path +msgid "" +"The default API path is '/index.php/api/xmlrpc'. Check this box if you use a " +"custom API path, in that case, the location has to be completed with the " +"custom API path " +msgstr "" +"Der Vorgabe API-Pfad ist '/index.php/api/xmlrpc'. Wählen Sie diese " +"Einstellung, falls Sie einen individuellen API-Pfad verwenden. In diesem " +"Fall muß der Pfad mit diesem individuellen API-Pfad ergänzt werden." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_expense_categ_id +msgid "" +"The expense is accounted for when a vendor bill is validated, except in " +"anglo-saxon accounting with perpetual inventory valuation in which case the " +"expense (Cost of Goods Sold account) is recognized at the customer invoice " +"validation." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_position_id +msgid "" +"The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__name +msgid "The name that will be used on account move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__product_count +msgid "" +"The number of products under this category (Does not consider the children " +"categories)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__account_id +msgid "The partner account used for this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "" +"The partner has at least one unreconciled debit and credit since last time " +"the invoices & payments matching was performed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__tz +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__tz +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__reference +msgid "The payment communication of this sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reference +msgid "" +"The payment communication that will be automatically populated once the " +"invoice validation. You can also write a free communication." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__currency_rate +msgid "" +"The rate of the currency to the currency of rate 1 applicable at the date of " +"the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__lst_price +msgid "" +"The sale price is managed from the product template. Click on the 'Configure " +"Variants' button to set the extra attribute prices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_customer +msgid "" +"The stock location used as destination when sending goods to this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "" +"The stock location used as source when receiving goods from this contact." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount_tax +#, fuzzy +msgid "" +"The tax amount computed in Odoo doesn't match with the tax amount in " +"Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" +"Die in OpenERP errechnete Steuer stimmt nicht mit der Magento Steuer " +"überein.\n" +"\n" +"Grund:\n" +"Vermutlich sind die Steuersätze in OpenERP und Magento nicht identisch. " +"Durch eine entsprechende Steuerzuordnung wurde möglicherweise der Endpreis " +"verändert.\n" +"\n" +"Lösung: \n" +"Überprüfen Sie die Steuern und auch Zuordnungen und korrigieren Sie diese " +"dann bei Bedarf." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__volume +msgid "The volume in m3." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:41 +#, python-format +msgid "The wizard must be launched from a magento backend model" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:45 +#, python-format +msgid "The wizard must be launched on a single magento backend instance" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "" +"This account will be used instead of the default one as the payable account " +"for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "" +"This account will be used instead of the default one as the receivable " +"account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_income_categ_id +msgid "This account will be used when validating a customer invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_variant +msgid "" +"This field holds the image used as image for the product variant, limited to " +"1024x1024px." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__commitment_date +msgid "" +"This is the delivery date promised to the customer. If set, the delivery " +"order will be scheduled based on this date rather than product lead times." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__price_extra +msgid "This is the sum of the extra price of all attributes" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "" +"This option should respect the same\n" +" configuration as Magento. Pay\n" +" attention to the taxes on the products,\n" +" which should surely include prices when\n" +" this option is activated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "" +"This payment term will be used instead of the default one for purchase " +"orders and vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "" +"This payment term will be used instead of the default one for sales orders " +"and customer invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_production +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated by manufacturing orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_inventory +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated when you do an inventory." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__responsible_id +msgid "" +"This user will be responsible of the next activities related to logistic " +"operations for this product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz +msgid "Timezone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz_offset +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__title +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__title +msgid "Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_to_invoice +msgid "To Invoice Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__token +msgid "Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_total +msgid "Total" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount +msgid "Total Amount differs from Magento" +msgstr "Gesamtbetrag unterscheidet sich zu Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__total_invoiced +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__total_invoiced +#, fuzzy +msgid "Total Invoiced" +msgstr "Voreingestellte Rechnung" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit +msgid "Total Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit +msgid "Total Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_tax +msgid "Total Tax" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount_tax +msgid "Total Tax Amount differs from Magento" +msgstr "Steuersumme unterscheidet sich zu Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount +msgid "Total amount" +msgstr "Gesamtbetrag" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total amount in the currency of the company, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total amount in the currency of the invoice, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__credit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount_tax +msgid "Total amount w. tax" +msgstr "Bruttogesamtbetrag" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__debit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__total_route_ids +#, fuzzy +msgid "Total routes" +msgstr "Gesamtbetrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__service_type +msgid "Track Service" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tracking +msgid "Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_ref +msgid "Tracking Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_url +msgid "Tracking URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__transaction_ids +msgid "Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__type +msgid "Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__type_name +msgid "Type Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_code +msgid "Type of Operation" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_website/importer.py:21 +#, python-format +msgid "Undefined" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_name +msgid "Unit of Measure Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of measurement for Weight" +msgstr "" + +#. module: connector_magento +#: model:product.product,uom_name:connector_magento.product_product_rewards +#: model:product.product,uom_name:connector_magento.product_product_store_credit +#: model:product.template,uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,uom_name:connector_magento.product_product_store_credit_product_template +msgid "Unit(s)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_untaxed +#, fuzzy +msgid "Untaxed Amount" +msgstr "Gesamtbetrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_to_invoice +msgid "Untaxed Amount To Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_signed +msgid "Untaxed Amount in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_invoice_signed +msgid "Untaxed Amount in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_invoiced +msgid "Untaxed Invoiced Amount" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update" +msgstr "Aktualisieren" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update all the products stock quantities" +msgstr "Produktbestände aktualisieren" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__updated_at +msgid "Updated At (on Magento)" +msgstr "Aktualisiert am (in Magento)" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__location +msgid "Url to magento application" +msgstr "URL zur Magento-Anwendung" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +#: selection:magento.product.product,manage_stock:0 +msgid "Use Default Config" +msgstr "Verwende Standartkonfiguration" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_auth_basic +msgid "Use HTTP Auth Basic" +msgstr "Verwende einfache HTTP-Auth" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_auth_basic +msgid "" +"Use a Basic Access Authentication for the API. The Magento server could be " +"configured to restrict access using a HTTP authentication based on a " +"username and a password." +msgstr "" +"Eine einfache Zugriff-Authentifizierung zur API verwenden. Der Magento-" +"Server kann auf den einfachen HTTP-basierten Zugang mittels Benutzername und " +"Passwort beschränkt sein." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__type +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__type +msgid "" +"Used by Sales and Purchase Apps to select the relevant address depending on " +"the context." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_custom_attribute_value_ids +msgid "User entered custom product attribute values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__username +msgid "Username" +msgstr "Benutzername" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_ids +#, fuzzy +msgid "Users" +msgstr "Benutzername" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_archived_variant_ids +msgid "Valid Archived Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_existing_variant_ids +msgid "Valid Existing Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +msgid "Valid Product Attribute Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Valid Product Attribute Lines Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +msgid "Valid Product Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +msgid "Valid Product Attribute Values Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_ids +msgid "Valid Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +msgid "Valid Product Attributes Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Validate" +msgstr "Prüfen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__validity_date +msgid "Validity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__validity_date +msgid "" +"Validity date of the quotation, after this date, the customer won't be able " +"to validate the quotation online." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valuation +msgid "Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value +msgid "Value" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_variant +msgid "Variant Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price_extra +msgid "Variant Price Extra" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__variant_seller_ids +msgid "Variant Seller" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Vendor Bill" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_display_name +msgid "Vendor Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_supplier +#, fuzzy +msgid "Vendor Location" +msgstr "Standort" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Vendor Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__seller_ids +msgid "Vendors" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__verify_ssl +msgid "Verify SSL certificate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__version +msgid "Version" +msgstr "Version" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__volume +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__volume +msgid "Volume" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__warehouse_id +msgid "Warehouse" +msgstr "Lager" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__warehouse_id +msgid "Warehouse used to compute the stock quantities." +msgstr "Lager für Bestände-Ermittlung" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/common.py:188 +#, python-format +msgid "" +"We have to import the product before we can provide the admin link to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__password +msgid "Webservice password" +msgstr "Web-Dienst-Kennwort" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__username +msgid "Webservice user" +msgstr "Web-Dienst-Benutzer" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__website_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website +msgid "Website" +msgstr "Webseite" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_website +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Websites" +msgstr "Webseiten" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight +msgid "Weight" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_id +msgid "Weight Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__shipping_weight +#, fuzzy +msgid "Weight for Shipping" +msgstr "Vorgegebener Versand" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__weight +msgid "" +"Weight of the product, packaging not included. The unit of measure can be " +"changed in the general settings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_name +msgid "Weight unit of measure label" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. This is the default " +"value for all products in this category. It can also directly be set on each " +"product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_input +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. When not set on the " +"product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. This is the " +"default value for all products in this category. It can also directly be set " +"on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_output +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. When not set on " +"the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_journal +msgid "" +"When doing real-time inventory valuation, this is the Accounting Journal in " +"which entries will be automatically posted when stock moves are processed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "" +"When real-time inventory valuation is enabled on a product, this account " +"will hold the current value of the products." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__is_locked +msgid "" +"When the picking is not done this allows changing the initial demand. When " +"the picking is done this allows changing the done quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_id +msgid "You can find a contact by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "You can find a customer by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__zip +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__zip +msgid "Zip" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "choose" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__import_orders_from_date +msgid "" +"do not consider non-imported sale orders before this date. Leave empty to " +"import all sale orders" +msgstr "" +"Vor diesem Datum nicht-importierte Aufträge unberücksichtigt lassen. Bitte " +"tragen Sie nichts ein, um alle Aufträge zu importieren." + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com" +msgstr "z.B. http://my.magento.com" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com/admin" +msgstr "z.B. http://my.magento.com/admin" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +#, fuzzy +msgid "get" +msgstr "Magento" + +#. module: connector_magento +#: model:product.product,weight_uom_name:connector_magento.product_product_rewards +#: model:product.product,weight_uom_name:connector_magento.product_product_store_credit +#: model:product.template,weight_uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,weight_uom_name:connector_magento.product_product_store_credit_product_template +msgid "kg" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "mag-" +msgstr "mag-" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner_category +#, fuzzy +msgid "magento.res.partner.category" +msgstr "Magento-Überkategorie" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__amount_by_group +msgid "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__warehouse_id +#, fuzzy +msgid "warehouse" +msgstr "Lager" + +#, fuzzy +#~ msgid "# of Invoices" +#~ msgstr "Rechnung" + +#, fuzzy +#~ msgid "# of Sales Order" +#~ msgstr "Auftrag" + +#, fuzzy +#~ msgid "Can Edit Delivered" +#~ msgstr "Magento-Versandauftrag" + +#, fuzzy +#~ msgid "Invoiced" +#~ msgstr "Rechnung" + +#, fuzzy +#~ msgid "Magento backend id" +#~ msgstr "Magento-Backend" + +#, fuzzy +#~ msgid "Magento binding model" +#~ msgstr "Magento-Zuordnungen" + +#, fuzzy +#~ msgid "Payments widget" +#~ msgstr "Zahlweise" + +#, fuzzy +#~ msgid "Picking Type" +#~ msgstr "Packmethode" + +#, fuzzy +#~ msgid "Procurement Location" +#~ msgstr "Admin-Ort" + +#, fuzzy +#~ msgid "Sale Pricelist" +#~ msgstr "Verkaufs-Präfix" + +#, fuzzy +#~ msgid "Section" +#~ msgstr "Beschreibung" + +#, fuzzy +#~ msgid "Stock move ids" +#~ msgstr "Bestandsfeld" + +#, fuzzy +#~ msgid "Stock quant ids" +#~ msgstr "Bestandsfeld" + +#, fuzzy +#~ msgid "To Invoice" +#~ msgstr "Rechnung" + +#~ msgid "Connector Configuration" +#~ msgstr "Connector-Einstellungen" + +#~ msgid "Export Partners to Magento (experimental)" +#~ msgstr "Exportiere Partner zu Magento (experimentell)" + +#~ msgid "Extensions" +#~ msgstr "Erweiterungen" + +#~ msgid "Magentoerpconnect" +#~ msgstr "Magentoerpconnect" + +#~ msgid "Picking List" +#~ msgstr "Kommissionierliste" + +#~ msgid "Prices are managed in OpenERP with pricelists" +#~ msgstr "Preise werden in OpenERP mit Preislisten verwaltet" + +#~ msgid "" +#~ "Prices are set in OpenERP and exported to Magento.\n" +#~ "\n" +#~ "This installs the module connector_magento_pricing." +#~ msgstr "" +#~ "Preise werden in OpenERP bestimmt und zu Magento exportiert.\n" +#~ "\n" +#~ "Dies installiert das Modul connector_magento_pricing." + +#~ msgid "This installs the module connector_magento_export_partner." +#~ msgstr "Dies installiert das Modul connector_magento_export_partner." diff --git a/connector_magento/i18n/es.po b/connector_magento/i18n/es.po new file mode 100644 index 000000000..bdefef410 --- /dev/null +++ b/connector_magento/i18n/es.po @@ -0,0 +1,5192 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * connector_magento +# +# Translators: +# enjolras , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-30 16:29+0000\n" +"PO-Revision-Date: 2017-11-30 16:29+0000\n" +"Last-Translator: enjolras , 2018\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__state +msgid "" +" * Draft: not confirmed yet and will not be scheduled until confirmed.\n" +" * Waiting Another Operation: waiting for another move to proceed before it " +"becomes automatically available (e.g. in Make-To-Order flows).\n" +" * Waiting: if it is not ready to be sent because the required products " +"could not be reserved.\n" +" * Ready: products are reserved and ready to be sent. If the shipping policy " +"is 'As soon as possible' this happens as soon as anything is reserved.\n" +" * Done: has been processed, can't be modified or cancelled anymore.\n" +" * Cancelled: has been cancelled, can't be confirmed anymore." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__state +msgid "" +" * The 'Draft' status is used when a user is encoding a new and unconfirmed " +"Invoice.\n" +" * The 'Open' status is used when user creates invoice, an invoice number is " +"generated. It stays in the open status till the user pays the invoice.\n" +" * The 'In Payment' status is used when payments have been registered for " +"the entirety of the invoice in a journal configured to post entries at bank " +"reconciliation only, and some of them haven't been reconciled with a bank " +"statement line yet.\n" +" * The 'Paid' status is set automatically when the invoice is paid. Its " +"related journal entries may or may not be reconciled.\n" +" * The 'Cancelled' status is used when user cancel invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_count +msgid "# Product Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__product_count +msgid "# Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__magento_order_id +msgid "'order_id' field in Magento" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "(recompute)" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +msgid "A Magento binding for this invoice already exists." +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.backend:0 +msgid "A backend with the same sale prefix already exists" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 sql_constraint:magento.address:0 +#: sql_constraint:magento.binding:0 sql_constraint:magento.product.category:0 +#: sql_constraint:magento.product.product:0 +#: sql_constraint:magento.res.partner:0 +#: sql_constraint:magento.res.partner.category:0 +#: sql_constraint:magento.sale.order:0 sql_constraint:magento.sale.order.line:0 +#: sql_constraint:magento.stock.picking:0 sql_constraint:magento.store:0 +#: sql_constraint:magento.storeview:0 sql_constraint:magento.website:0 +msgid "A binding already exists with the same Magento ID." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__description_sale +msgid "" +"A description of the Product that you want to communicate to your customers. " +"This description will be copied to every Sales Order, Delivery Order and " +"Customer Invoice/Credit Note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "" +"A parent sales order has been canceled on the backend and needs to be " +"canceled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_id +msgid "A parent sales order is a sales order replaced by this one." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order needs cancel" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.address:0 +msgid "A partner address can only have one binding by backend." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__sale_prefix +msgid "" +"A prefix put before the name of imported sales orders.\n" +"For instance, if the prefix is 'mag-', the sales order 100000692 in Magento, " +"will be named 'mag-100000692' in Odoo." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "API" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_warning +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_warning +msgid "Access warning" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "" +"According to product configuration, the delivered quantity can be " +"automatically computed by mechanism :\n" +" - Manual: the quantity is set manually on the line\n" +" - Analytic From expenses: the quantity is the quantity sum from posted " +"expenses\n" +" - Timesheet: the quantity is the sum of hours recorded on tasks linked to " +"this sale line\n" +" - Stock Moves: the quantity comes from confirmed pickings\n" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__account_id +msgid "Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date +msgid "Accounting Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__bank_account_required +msgid "" +"Activate this option if this payment method requires you to know the bank " +"account number of your customer or supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__active +msgid "Active" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_ids +msgid "Activities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_state +msgid "Activity State" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__comment +msgid "Additional Information" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__additional_info +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__additional_info +msgid "Additional info" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__type +msgid "Address Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_magento_order_address +msgid "Address from a Magento Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__admin_location +msgid "Admin Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Advanced Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__all_qty_delivered +msgid "All quantities delivered" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__lang +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this " +"language." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:76 +#, python-format +msgid "Already exported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/importer.py:374 +#, python-format +msgid "Already imported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:200 +#, python-format +msgid "Already up-to-date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_undiscounted +msgid "Amount Before Discount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual +msgid "Amount Due" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Amount Due in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_signed +msgid "Amount Due in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__consider_as_company +msgid "" +"An account imported with a 'company' in the billing address is considered as " +"a company.\n" +" The partner takes the name of the company and is not merged with the " +"billing address." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__account_analytic_id +msgid "Analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_line_ids +msgid "Analytic lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__token +msgid "" +"Authentication token for Magento 2.0+. See https://devdocs. magento.com/" +"guides/v2.3/get-started/authentication/gs-authentication-token.html" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__authorized_transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__authorized_transaction_ids +msgid "Authorized Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Auto-complete from a past bill." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__workflow_process_id +msgid "Automatic Workflow" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__available_carrier_ids +msgid "Available Carriers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_id +msgid "Back Order of" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_ids +msgid "Back Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_backend +msgid "Backends" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_account_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_account_count +msgid "Bank" +msgstr "Banco" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account" +msgstr "Cuenta bancaria" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "" +"Bank Account Number to which the invoice will be paid. A Company bank " +"account if this is a Customer Invoice or Vendor Credit Note, otherwise a " +"Partner bank account number." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Bank Account Required" +msgstr "Cuenta bancaria obligatoria" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_ids +msgid "Banks" +msgstr "Bancos" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__barcode +msgid "Barcode" +msgstr "Código de barras" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__base_media_url +msgid "Base Media Url" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__base_media_url +msgid "" +"Base URL to retrieve product images. Used for Magento2 only. For example: " +"http://magento/media" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic Auth. Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic Auth. Username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic access authentication web server side password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic access authentication web server side username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image +msgid "Big-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__birthday +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_users__birthday +msgid "Birthday" +msgstr "Fecha de nacimiento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_bounce +msgid "Bounce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_bulk +msgid "Bulk Weight" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "" +"By clicking on the buttons,\n" +" you will initiate the synchronizations\n" +" with Magento.\n" +" Note that the import or exports\n" +" won't be done directly,\n" +" they will create 'Jobs'\n" +" executed as soon as possible." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_updatable +msgid "Can Edit Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__purchase_ok +msgid "Can be Purchased" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__rental +msgid "Can be Rent" +msgstr "Se puede alquilar" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_ok +msgid "Can be Sold" +msgstr "Se puede vender" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Cancel" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:113 +#, python-format +msgid "Cancel sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__canceled_in_backend +msgid "Canceled in backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:71 +#, python-format +msgid "" +"Canceled: the delivery order does not contain lines from the original sale " +"order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__cancellation_resolved +msgid "Cancellation from the backend resolved" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_id +msgid "Carrier" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Cash Rounding Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_from_categ_ids +msgid "Category Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__channel_ids +msgid "Channels" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "" +"Check if the storeview is active in Magento but its sales orders should not " +"be imported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__has_packages +msgid "Check the existence of destination packages on move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Check the existence of pack operation on the picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer +msgid "" +"Check this box if this contact is a customer. It can be selected in sales " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier +msgid "" +"Check this box if this contact is a vendor. It can be selected in purchase " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__employee +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__no_stock_sync +msgid "Check this to exclude the product from stock synchronizations." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_backend/common.py:246 +#, python-format +msgid "" +"Check your configuration, we can't get the data. Here is the error:\n" +"%s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__child_id +msgid "Child Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__child_ids +msgid "Child Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__product_stock_field_id +msgid "" +"Choose the field of the product which will be used for stock inventory " +"updates.\n" +"If empty, Quantity Available is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__city +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__city +msgid "City" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Close" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__code +msgid "Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__color +msgid "Color Index" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__commitment_date +msgid "Commitment Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref_company_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__company_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_name +msgid "Company Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_company_name +msgid "Company Name Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_type +msgid "Company Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_gid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_users__company +msgid "Company name (in Magento)" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Complete" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contact_address +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contact_address +msgid "Complete Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__complete_name +msgid "Complete Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__effective_date +msgid "Completion date of the first delivery order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_qty +msgid "Computed Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__confirmation_date +msgid "Confirmation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__consider_as_company +msgid "Considered as company" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner +msgid "Contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__child_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__child_ids +msgid "Contacts" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contracts_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__standard_price +msgid "Cost" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_currency_id +msgid "Cost Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_method +msgid "Cost Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__standard_price +msgid "" +"Cost used for stock valuation in standard price and as a first price to set " +"in average/fifo. Also used as a base price for pricelists. Expressed in the " +"default unit of measure of the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_cost_method +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_cost_method +msgid "Costing Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__country_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__country_id +msgid "Country" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +msgid "Create invoice on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_payment_mode__create_invoice_on +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_invoice_on +msgid "Create invoice on action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__created_at +msgid "Created At (on Magento)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_uid +msgid "Created by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_date +msgid "Created on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date +msgid "Creation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date +msgid "Creation Date, usually the time of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__currency_id +msgid "Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__qty_available +msgid "" +"Current quantity of products.\n" +"In a context with a single Stock Location, this includes goods stored at " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"stored in the Stock Location of the Warehouse of this Shop, or any of its " +"children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_custom_api_path +msgid "Custom Api Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_delay +msgid "Customer Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_customer +msgid "Customer Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Customer Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__partner_ref +msgid "Customer Ref" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__client_order_ref +msgid "Customer Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__taxes_id +msgid "Customer Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__date +msgid "Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date_done +msgid "Date at which the transfer has been processed or cancelled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date_done +msgid "Date of Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__confirmation_date +msgid "Date on which the sales order is confirmed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_billing +msgid "Default Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_lang_id +msgid "Default Language" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__owner_id +msgid "Default Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_category_id +msgid "Default Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_shipping +msgid "Default Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Default taxes used when buying the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__taxes_id +msgid "Default taxes used when selling the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_id +msgid "Default unit of measure used for all stock operations." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_po_id +msgid "" +"Default unit of measure used for purchase orders. It must be in the same " +"category as the default unit of measure." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__seller_ids +msgid "Define vendor pricelists." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "" +"Defines the smallest coinage of the currency that can be used to pay by cash." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__trust +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_manual +msgid "Delivered Manually" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered +msgid "Delivered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_shipping_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Delivery Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_message +msgid "Delivery Message" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_count +msgid "Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_rating_success +msgid "Delivery Rating Success" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__expected_date +msgid "" +"Delivery date you can promise to the customer, computed from product lead " +"times and from the shipping policy of the order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_delay +msgid "" +"Delivery lead time, in days. It's the number of days, promised to the " +"customer, between the confirmation of the sales order and the delivery." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__route_ids +msgid "" +"Depending on the modules installed, this will allow you to define the route " +"of the product: whether it will be bought, manufactured, MTO, etc." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__name +msgid "Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingout +msgid "Description on Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_picking +msgid "Description on Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingin +msgid "Description on Receptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_dest_id +msgid "Destination Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__display_name +msgid "Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_type +msgid "Display Type" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Do Not Manage Stock" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "" +"Does the invoice export/creation should send an email notification on " +"Magento side?" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_picking_done_mail +msgid "" +"Does the picking export/creation should send an email notification on " +"Magento side?" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "" +"Down payments are made when creating invoices from a sales order. They are " +"not copied when duplicating a sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_due +msgid "Due Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__emailid +msgid "E-mail address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__effective_date +msgid "Effective Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email +msgid "Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__employee +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__employee +msgid "Employee" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__enabled +msgid "Enabled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tracking +msgid "Ensure the traceability of a storable product in your warehouse." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_price +msgid "Estimated Delivery Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exception_ids +msgid "Exceptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exceptions_summary +msgid "Exceptions Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_expense_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Expense Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__expense_policy +msgid "" +"Expenses and vendor bills can be re-invoiced to a customer.With this option, " +"a validated expense can be re-invoice to a customer at its cost or sales " +"price." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_export_tracking +msgid "Export tracking numbers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_ids +msgid "Extra categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__data +msgid "File" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__name +msgid "File Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__carrier_id +msgid "Fill this field if you plan to invoice the shipping based on picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__fiscal_position_id +msgid "Fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Force Removal Strategy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__virtual_available +msgid "Forecast Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__virtual_available +msgid "" +"Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n" +"In a context with a single Stock Location, this includes goods stored in " +"this location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Get" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__packaging_ids +msgid "Gives the different ways to package the same product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sequence +msgid "Gives the sequence order when displaying a product list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__guest_customer +msgid "Guest Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hs_code +msgid "HS Code" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "HTTP Authentication" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__has_checkpoint +msgid "Has Checkpoint" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__has_outstanding +msgid "Has Outstanding" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Has Pack Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_packages +msgid "Has Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_scrap_move +msgid "Has Scrap Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_tracking +msgid "Has Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__need_cancel +msgid "Has been canceled on the backend, need to be canceled." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Here is the file with information read drom the backend:" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hide_expense_policy +msgid "Hide Expense Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__id +msgid "ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__external_id +msgid "ID on Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__im_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__im_status +msgid "IM Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_category_id +msgid "" +"If a default category is selected, products imported without a category will " +"be linked to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_lang_id +msgid "" +"If a default language is selected, the records will be imported in the " +"translation of this language.\n" +"Note that a similar configuration exists for each storeview." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__team_id +msgid "" +"If set, this Sales Team will be used for sales and assignations related to " +"this partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "" +"If specified, this fiscal position will be used to fill the field fiscal " +"position on the sale order created by the connector.The value can also be " +"specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_warehouse_id +msgid "" +"If specified, this warehouse will be used to load fill the field warehouse " +"(and company) on the sale order created by the connector.The value can also " +"be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_website__is_multi_company +msgid "" +"If this flag is set, it is possible to choose warehouse at each level. When " +"import partner, ignore company_id if this flag is set." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__backorder_id +msgid "" +"If this shipment was split, then this field links to the shipment which " +"contains the already processed part." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "If ticked, you will be able to select entire packages to move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__active +msgid "" +"If unchecked, it will allow you to hide the product without removing it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__picking_policy +msgid "" +"If you deliver all products at once, the delivery order will be scheduled " +"based on the greatest product lead time. Otherwise, it will be based on the " +"shortest." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__payment_term_id +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. If you keep the payment terms and the due " +"date empty, it means direct payment. The payment terms may compute several " +"due dates, for example 50% now, 50% in one month." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_due +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. The Payment terms may compute several due " +"dates, for example 50% now and 50% in one month, but if you want to force a " +"due date, make sure that the payment term is not set on the invoice. If you " +"keep the Payment terms and the due date empty, it means direct payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__ignore_exception +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__ignore_exception +msgid "Ignore Exceptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image +msgid "Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__product_image +msgid "" +"Image of the product variant (Big-sized image of product template if false). " +"It is automatically resized as a 1024x1024px image, with aspect ratio " +"preserved." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_medium +msgid "" +"Image of the product variant (Medium-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_small +msgid "" +"Image of the product variant (Small-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__immediate_transfer +msgid "Immediate Transfer" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders since" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import all customer groups" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_categories_from_date +msgid "Import categories from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import in background" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import partners from all websites" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__import_partners_from_date +msgid "Import partners from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import partners since" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products categories since" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_products_from_date +msgid "Import products from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products since" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__import_orders_from_date +msgid "Import sale orders from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import sales orders from all store views" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Imports" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_internal_id +msgid "" +"In Magento2, we have to keep track of both the external_id (the product SKU) " +"which is used in the Magento2 REST API, as well as the Magento internal id " +"as used in the admin URL." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_income_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_income_id +msgid "Income Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__incoming_qty +msgid "Incoming" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterm_id +msgid "Incoterm" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterms_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__incoterm +msgid "Incoterms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterms_id +msgid "" +"Incoterms are series of sales terms. They are used to divide transaction " +"costs and responsibilities between buyer and seller and reflect state-of-the-" +"art transportation practices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__industry_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__industry_id +msgid "Industry" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Informations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__default_code +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref +msgid "Internal Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__barcode +msgid "International Article Number used for product identification." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterm_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__incoterm +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_inventory +msgid "Inventory Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "Inventory Options" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_valuation +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_valuation +msgid "Inventory Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_invoice +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn +msgid "Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_count +msgid "Invoice Count" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/account_invoice/exporter.py:25 +#, python-format +msgid "Invoice Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_invoice +msgid "Invoice Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_icon +msgid "Invoice Icon" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_line_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_lines +msgid "Invoice Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_shipping_on_delivery +msgid "Invoice Shipping on Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_status +msgid "Invoice Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_id +msgid "Invoice for which this invoice is the credit note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_invoiced +msgid "Invoiced Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_ids +msgid "Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__invoice_policy +msgid "Invoicing Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__is_multi_company +msgid "Is Backend Multi-Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__is_locked +msgid "Is Locked" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__is_product_variant +msgid "Is Product Variant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_company +msgid "Is a Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer +msgid "Is a Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_delivery +msgid "Is a Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Is a down payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is expense" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__is_expired +msgid "Is expired" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is true if the sales order line comes from an expense or a vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reconciled +msgid "" +"It indicates that the invoice has been paid and the journal entry of the " +"invoice has been reconciled with one or several journal entries of payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__sent +msgid "It indicates that the invoice has been sent." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_type +msgid "It specifies goods to be deliver partially or all at once" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__function +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__function +msgid "Job Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_id +msgid "Journal Entry" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_name +msgid "Journal Entry Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__journal_item_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_invoice +msgid "Keep empty to use the current date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date +msgid "Keep empty to use the invoice date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_income_id +msgid "" +"Keep this field empty to use the default value from the product category." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_expense_id +msgid "" +"Keep this field empty to use the default value from the product category. If " +"anglo-saxon accounting with automated valuation method is configured, the " +"expense account on the product category will be used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__lang_id +msgid "Language" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_address____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_store____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_website____last_update +msgid "Last Modified on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_date +msgid "Last Updated on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_qty +msgid "Last computed quantity to send on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sync_date +msgid "Last synchronization date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "" +"Last time the invoices & payments matching was performed for this partner. " +"It is set either if there's not at least an unreconciled debit and an " +"unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_id +msgid "Link to the automatically generated Journal Items." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__location +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__location_id +msgid "Location" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_root +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_delivery_carrier_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_category_form +msgid "Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_categories_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_categories +#: model:ir.cron,name:connector_magento.ir_cron_import_product_categories +msgid "Magento - Import Product Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_product_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_product +#: model:ir.cron,name:connector_magento.ir_cron_import_product_product +msgid "Magento - Import Products" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_update_product_stock_qty_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_update_product_stock_qty +#: model:ir.cron,name:connector_magento.ir_cron_update_product_stock_qty +msgid "Magento - Update Stock Quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_customer_groups_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_customer_groups +#: model:ir.cron,name:connector_magento.ir_cron_import_customer_groups +msgid "Magento - Import Customer Groups" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_partners_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_partners +#: model:ir.cron,name:connector_magento.ir_cron_import_partners +msgid "Magento - Import Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_sale_orders_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_sale_orders +#: model:ir.cron,name:connector_magento.ir_cron_import_sale_orders +msgid "Magento - Import Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_address +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_tree +msgid "Magento Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_address_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Magento Address Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_backend +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__backend_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_tree +msgid "Magento Backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_backend +msgid "Magento Backends" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_carrier_code +msgid "Magento Base Carrier Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding +msgid "Magento Binding (abstract)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_binding_model +msgid "Magento Binding Model" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_stock_picking__magento_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:connector_magento.view_invoice_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_sale_order_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_stock_picking_out_magento_form +msgid "Magento Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_code +msgid "Magento Carrier Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_child_ids +msgid "Magento Child Categories" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Magento Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_config_specializer +msgid "Magento Configuration Specializer Mixin" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_stock_picking +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_tree +msgid "Magento Delivery Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding_backend_read +msgid "Magento Generic Object Reader Wizard" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__group_id +msgid "Magento Group (Category)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_id +msgid "Magento Id" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_internal_id +msgid "Magento Internal" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_account_invoice +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_tree +msgid "Magento Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_id +msgid "Magento Order ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_line_ids +msgid "Magento Order Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_parent_id +msgid "Magento Parent Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_partner_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_tree +msgid "Magento Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_product +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_tree +msgid "Magento Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_category +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_tree +msgid "Magento Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_type +msgid "Magento Product Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_binding_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__product_binding_ids +msgid "Magento Products" +msgstr "" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_rewards +#: model:product.template,name:connector_magento.product_product_rewards_product_template +msgid "Magento Rewards" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_order_id +msgid "Magento Sale Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order_line +msgid "Magento Sale Order Line" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_tree +msgid "Magento Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_tree +msgid "Magento Store" +msgstr "" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_store_credit +#: model:product.template,name:connector_magento.product_product_store_credit_product_template +msgid "Magento Store Credit" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_store +msgid "Magento Stores" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_storeview +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__storeview_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_tree +msgid "Magento Storeview" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_storeview +msgid "Magento Storeviews" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_tracking_title +msgid "Magento Tracking Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__taxvat +msgid "Magento VAT" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_website +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__website_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_tree +msgid "Magento Website" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_website +msgid "Magento Websites" +msgstr "" + +#. module: connector_magento +#: model:res.partner.category,name:connector_magento.category_no_account +msgid "Magento guest users" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:58 +#, python-format +msgid "Magento sales order is already in state %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Main Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__main_exception_id +msgid "Main Exception" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backorders +msgid "Manage Inventory Backorders" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Manage Stock" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__manage_stock +msgid "Manage Stock Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__service_type +msgid "" +"Manually set quantities on order: Invoice based on the manually entered " +"quantity, without creating an analytic account.\n" +"Timesheets on contract: Invoice based on the tracked hours on the related " +"timesheet.\n" +"Create a task and track hours: Create a task on the sales order validation " +"and track the work hours." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_medium +msgid "" +"Medium-sized image of this contact. It is automatically resized as a " +"128x128px image, with aspect ratio preserved. Use this field in form views " +"or some kanban views." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn_msg +msgid "Message for Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn_msg +msgid "Message for Sales Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn_msg +msgid "Message for Sales Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn_msg +msgid "Message for Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_ids +msgid "Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "Method to update delivered qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__orderpoint_ids +msgid "Minimum Stock Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__mobile +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__mobile +msgid "Mobile" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "Move Entire Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__name +msgid "Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signed_by +msgid "Name of the person that signed the SO." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__need_cancel +msgid "Need to be canceled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__newsletter +msgid "Newsletter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next +msgid "Next Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next_prefix +msgid "Next Number Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "No Sales Order Synchronization" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "No Sell" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__no_stock_sync +msgid "No Stock Synchronization" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/queue_job/common.py:26 +#, python-format +msgid "" +"No admin URL configured on the backend or no admin path is defined for this " +"record." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:79 +#, python-format +msgid "No tracking number to send." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__notes +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__note +msgid "Notes" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:364 +#: code:addons/connector_magento/components/exporter.py:369 +#, python-format +msgid "Nothing to export." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__number +msgid "Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__customer_lead +msgid "" +"Number of days between the order confirmation and the shipping of the " +"products to the customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__odoo_id +msgid "Odoo Product" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "" +"Once imported,\n" +" some types of records,\n" +" like the products or categories,\n" +" need a manual review.\n" +" You will find the list\n" +" of the new records to review\n" +" in the menu 'Connectors > Checkpoint'." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_payment +msgid "Online Payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_signature +msgid "Online Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__verify_ssl +msgid "Only for Magento 2.0+" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_id +msgid "Operation Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids +msgid "Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids_without_package +msgid "Operations without package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_option_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sale_order_option_ids +msgid "Optional Products Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Options" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__date_order +msgid "Order Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__order_line +msgid "Order Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_id +msgid "Order Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__state +msgid "Order Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom_qty +msgid "Ordered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__invoice_policy +msgid "" +"Ordered Quantity: Invoice quantities ordered by the customer.\n" +"Delivered Quantity: Invoice quantities delivered to the customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__outgoing_qty +msgid "Outgoing" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__outstanding_credits_debits_widget +msgid "Outstanding Credits Debits Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__owner_id +msgid "Owner" +msgstr "Propietario" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_packaging +msgid "Package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids +msgid "Package Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids_details +msgid "Package Level Ids Details" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_ids +msgid "Packages" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reconciled +msgid "Paid/Reconciled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_id +msgid "Parent Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_parent_id +msgid "Parent Magento Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_id +msgid "Parent Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_path +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_path +msgid "Parent Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_name +msgid "Parent name" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Partial" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__partner_id +msgid "Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__odoo_id +msgid "Partner Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contract_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__partner_ids +msgid "Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__password +msgid "Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_mode_id +msgid "Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_payment_mode +msgid "Payment Modes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_move_line_ids +msgid "Payment Move Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reference +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__reference +msgid "Payment Ref." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_term_id +msgid "Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_ids +msgid "Payment Tokens" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_ids +msgid "Payments" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payments_widget +msgid "Payments Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__phone +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__phone +msgid "Phone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_method +msgid "Picking Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price +msgid "Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce +msgid "Price Reduce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxexcl +msgid "Price Reduce Tax excl" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxinc +msgid "Price Reduce Tax inc" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__list_price +msgid "Price at which the product is sold to customers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_item_ids +msgid "Pricelist Item" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__item_ids +msgid "Pricelist Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__catalog_price_tax_included +msgid "Prices include tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_id +msgid "Pricing/Primary Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__printed +msgid "Printed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__priority +msgid "Priority" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__priority +msgid "" +"Priority for this picking. Setting manually a value here would set it as " +"priority for all the moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__procurement_group_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__group_id +msgid "Procurement Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_product +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__product_id +msgid "Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_line_ids +msgid "Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_category +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__odoo_id +msgid "Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_image +msgid "Product Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__packaging_ids +msgid "Product Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__type +msgid "Product Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_no_variant_attribute_value_ids +msgid "Product attribute values that do not create variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_production +msgid "Production Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_ids +msgid "Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__delivery_type +msgid "Provider" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_purchase +msgid "Purchase Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_po_id +msgid "Purchase Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_at_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_qty +msgid "Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_available +msgid "Quantity On Hand" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__incoming_qty +msgid "" +"Quantity of planned incoming products.\n" +"In a context with a single Stock Location, this includes goods arriving to " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods arriving to the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods arriving to any Stock Location with " +"'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__outgoing_qty +msgid "" +"Quantity of planned outgoing products.\n" +"In a context with a single Stock Location, this includes goods leaving this " +"Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods leaving the Stock " +"Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods leaving any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_template_id +msgid "Quotation Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__expense_policy +msgid "Re-Invoice Policy" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Read Binding information from backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.magento_binding_backend_read_act_window +msgid "Read information from backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/deleter.py:20 +#, python-format +msgid "Record %s deleted on Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:191 +#, python-format +msgid "Record does no longer exist in Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:371 +#, python-format +msgid "Record exported with ID %s on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__name +msgid "Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__origin +msgid "Reference of the document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__origin +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__origin +msgid "Reference of the document that produced this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__name +msgid "Reference/Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_ids +msgid "Refund Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_id +msgid "Related Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__related_backorder_ids +msgid "Related backorders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__remaining_validity_days +msgid "Remaining Validity Days" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Remaining amount due in the currency of the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_signed +msgid "Remaining amount due in the currency of the invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual +msgid "Remaining amount due." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:136 +#, python-format +msgid "Reopen sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_max_qty +msgid "Reordering Max Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_min_qty +msgid "Reordering Min Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__nbr_reordering_rules +msgid "Reordering Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_signature +msgid "" +"Request a online signature to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_payment +msgid "" +"Request an online payment to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__responsible_id +msgid "Responsible" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__route_id +msgid "Route" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__route_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_ids +msgid "Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_sale +msgid "Sale Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__odoo_id +msgid "Sale Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__odoo_id +msgid "Sale Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__sale_prefix +msgid "Sale Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__lst_price +msgid "Sale Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__workflow_process_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__workflow_process_id +msgid "Sale Workflow Process" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:53 +#, python-format +msgid "Sale is not linked with a Magento sales order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sale_id +msgid "Sales Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order_line +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn +msgid "Sales Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__list_price +msgid "Sales Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__team_id +msgid "Sales Team" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__salesman_id +msgid "Salesperson" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__scheduled_date +msgid "" +"Scheduled time for the first part of the shipment to be processed. Setting " +"manually a value here would set it as expected date for all the stock moves." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_token +msgid "Security Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__categ_id +msgid "Select category for the current product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_line_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__sale_warn +msgid "" +"Selecting the \"Warning\" option will notify user with the message, " +"Selecting \"Blocking Message\" will throw an exception with the message and " +"block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__self +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__self +msgid "Self" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0 and Use Customer Notification" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Send email notification on invoice validated/paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_picking_done_mail +msgid "Send email notification on picking done" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sent +msgid "Sent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sequence +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sequence +msgid "Sequence" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__removal_strategy_id +msgid "" +"Set a specific removal strategy that will be used regardless of the source " +"location for this product category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_share +msgid "Share Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_price +msgid "Shipping Cost" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:24 +#, python-format +msgid "Shipping Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_policy +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_type +msgid "Shipping Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_account_payment_mode__create_invoice_on +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"If nothing is set, the option falls back to the same option on the Magento " +"store related to the sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__create_invoice_on +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"This only takes effect if the sales order's related payment method is not " +"giving an option for this by itself. (See Payment Methods)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Show Check Availability" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_lots_text +msgid "Show Lots Text" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Show Mark As Todo" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_operations +msgid "Show Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_validate +msgid "Show Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signature +msgid "Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signature +msgid "Signature received through the portal." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signed_by +msgid "Signed by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_expiration +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_token +msgid "Signup Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_valid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_url +msgid "Signup URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_small +msgid "" +"Small-sized image of this contact. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sales_count +msgid "Sold" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sort_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sort_order +msgid "Sort Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__origin +msgid "Source Document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__source_email +msgid "Source Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_id +msgid "Source Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_account_analytic_id +msgid "Specific analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "Specific fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_warehouse_id +msgid "Specific warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__hs_code +msgid "" +"Standardized code for international shipping and goods declaration. At the " +"moment, only used for the FedEx shipping provider." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__state_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__state_id +msgid "State" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:50 +#, python-format +msgid "State %s is not exported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__state +msgid "Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_stock_field_id +msgid "Stock Field" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_manual_move_ids +msgid "Stock Fifo Manual Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_real_time_aml_ids +msgid "Stock Fifo Real Time Aml" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_input +msgid "Stock Input Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_journal +msgid "Stock Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_move_ids +msgid "Stock Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__move_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_lines +msgid "Stock Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_output +msgid "Stock Output Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__odoo_id +msgid "Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Stock Quant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "Stock Valuation Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value_currency_id +msgid "Stock Value Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_ids_without_package +msgid "Stock moves not in package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__store_id +msgid "Store" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__store_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Stores" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__store_id +msgid "Storeview" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__storeview_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_storeview +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +msgid "Storeviews" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street +msgid "Street" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street2 +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street2 +msgid "Street2" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Supplier Payment Mode" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Synchronize Metadata" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__name +msgid "Tag Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__category_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__category_id +msgid "Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax +msgid "Tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__tax_class_id +msgid "Tax Class ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__vat +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__vat +msgid "Tax ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__tax_line_ids +msgid "Tax Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_rate +msgid "Tax Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_by_group +msgid "Tax amount by group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax groups are used with some external system like Prestashop" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax_signed +msgid "Tax in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_tax +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_id +msgid "Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_archived_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_existing_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Technical compute" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__display_type +msgid "Technical field for UX purpose." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_name +msgid "" +"Technical field holding the number given to the invoice, automatically set " +"when the invoice is validated then stored to set the same number again if " +"the invoice is cancelled, set to draft and re-validated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_check_availability +msgid "" +"Technical field used to compute whether the check availability button should " +"be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "" +"Technical field used to compute whether the mark as todo button should be " +"shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_validate +msgid "Technical field used to compute whether the validate should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__pricelist_id +msgid "" +"Technical field. Used for searching on pricelists, not stored in database." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_move_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Technical: used to compute quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_template_attribute_value_ids +msgid "Template Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__note +msgid "Terms and conditions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__vat +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount +msgid "" +"The amount computed in Odoo doesn't match with the amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__analytic_account_id +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:76 +#, python-format +msgid "The carrier %s does not export tracking numbers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__commercial_partner_id +msgid "" +"The commercial entity that will be used on Journal Entries for this invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__company_id +msgid "The company is automatically set from your user preferences." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/importer.py:328 +#, python-format +msgid "" +"The configurable product is not imported in Odoo, because only the simple " +"products are used in the sales orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_custom_api_path +msgid "" +"The default API path is '/index.php/api/xmlrpc'. Check this box if you use a " +"custom API path, in that case, the location has to be completed with the " +"custom API path " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_expense_categ_id +msgid "" +"The expense is accounted for when a vendor bill is validated, except in " +"anglo-saxon accounting with perpetual inventory valuation in which case the " +"expense (Cost of Goods Sold account) is recognized at the customer invoice " +"validation." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_position_id +msgid "" +"The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__name +msgid "The name that will be used on account move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__product_count +msgid "" +"The number of products under this category (Does not consider the children " +"categories)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__account_id +msgid "The partner account used for this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "" +"The partner has at least one unreconciled debit and credit since last time " +"the invoices & payments matching was performed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__tz +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__tz +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__reference +msgid "The payment communication of this sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reference +msgid "" +"The payment communication that will be automatically populated once the " +"invoice validation. You can also write a free communication." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__currency_rate +msgid "" +"The rate of the currency to the currency of rate 1 applicable at the date of " +"the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__lst_price +msgid "" +"The sale price is managed from the product template. Click on the 'Configure " +"Variants' button to set the extra attribute prices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_customer +msgid "" +"The stock location used as destination when sending goods to this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "" +"The stock location used as source when receiving goods from this contact." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount_tax +msgid "" +"The tax amount computed in Odoo doesn't match with the tax amount in " +"Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__volume +msgid "The volume in m3." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:41 +#, python-format +msgid "The wizard must be launched from a magento backend model" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:45 +#, python-format +msgid "The wizard must be launched on a single magento backend instance" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "" +"This account will be used instead of the default one as the payable account " +"for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "" +"This account will be used instead of the default one as the receivable " +"account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_income_categ_id +msgid "This account will be used when validating a customer invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_variant +msgid "" +"This field holds the image used as image for the product variant, limited to " +"1024x1024px." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__commitment_date +msgid "" +"This is the delivery date promised to the customer. If set, the delivery " +"order will be scheduled based on this date rather than product lead times." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__price_extra +msgid "This is the sum of the extra price of all attributes" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "" +"This option should respect the same\n" +" configuration as Magento. Pay\n" +" attention to the taxes on the products,\n" +" which should surely include prices when\n" +" this option is activated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "" +"This payment term will be used instead of the default one for purchase " +"orders and vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "" +"This payment term will be used instead of the default one for sales orders " +"and customer invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_production +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated by manufacturing orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_inventory +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated when you do an inventory." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__responsible_id +msgid "" +"This user will be responsible of the next activities related to logistic " +"operations for this product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz +msgid "Timezone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz_offset +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__title +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__title +msgid "Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_to_invoice +msgid "To Invoice Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__token +msgid "Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_total +msgid "Total" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount +msgid "Total Amount differs from Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__total_invoiced +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__total_invoiced +msgid "Total Invoiced" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit +msgid "Total Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit +msgid "Total Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_tax +msgid "Total Tax" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount_tax +msgid "Total Tax Amount differs from Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount +msgid "Total amount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total amount in the currency of the company, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total amount in the currency of the invoice, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__credit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount_tax +msgid "Total amount w. tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__debit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__total_route_ids +msgid "Total routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__service_type +msgid "Track Service" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tracking +msgid "Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_ref +msgid "Tracking Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_url +msgid "Tracking URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__transaction_ids +msgid "Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__type +msgid "Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__type_name +msgid "Type Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_code +msgid "Type of Operation" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_website/importer.py:21 +#, python-format +msgid "Undefined" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_name +msgid "Unit of Measure Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of measurement for Weight" +msgstr "" + +#. module: connector_magento +#: model:product.product,uom_name:connector_magento.product_product_rewards +#: model:product.product,uom_name:connector_magento.product_product_store_credit +#: model:product.template,uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,uom_name:connector_magento.product_product_store_credit_product_template +msgid "Unit(s)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_untaxed +msgid "Untaxed Amount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_to_invoice +msgid "Untaxed Amount To Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_signed +msgid "Untaxed Amount in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_invoice_signed +msgid "Untaxed Amount in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_invoiced +msgid "Untaxed Invoiced Amount" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update all the products stock quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__updated_at +msgid "Updated At (on Magento)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__location +msgid "Url to magento application" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +#: selection:magento.product.product,manage_stock:0 +msgid "Use Default Config" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_auth_basic +msgid "Use HTTP Auth Basic" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_auth_basic +msgid "" +"Use a Basic Access Authentication for the API. The Magento server could be " +"configured to restrict access using a HTTP authentication based on a " +"username and a password." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__type +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__type +msgid "" +"Used by Sales and Purchase Apps to select the relevant address depending on " +"the context." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_custom_attribute_value_ids +msgid "User entered custom product attribute values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__username +msgid "Username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_ids +msgid "Users" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_archived_variant_ids +msgid "Valid Archived Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_existing_variant_ids +msgid "Valid Existing Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +msgid "Valid Product Attribute Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Valid Product Attribute Lines Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +msgid "Valid Product Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +msgid "Valid Product Attribute Values Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_ids +msgid "Valid Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +msgid "Valid Product Attributes Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__validity_date +msgid "Validity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__validity_date +msgid "" +"Validity date of the quotation, after this date, the customer won't be able " +"to validate the quotation online." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valuation +msgid "Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value +msgid "Value" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_variant +msgid "Variant Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price_extra +msgid "Variant Price Extra" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__variant_seller_ids +msgid "Variant Seller" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Vendor Bill" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_display_name +msgid "Vendor Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "Vendor Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Vendor Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__seller_ids +msgid "Vendors" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__verify_ssl +msgid "Verify SSL certificate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__version +msgid "Version" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__volume +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__volume +msgid "Volume" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__warehouse_id +msgid "Warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__warehouse_id +msgid "Warehouse used to compute the stock quantities." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/common.py:188 +#, python-format +msgid "" +"We have to import the product before we can provide the admin link to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__password +msgid "Webservice password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__username +msgid "Webservice user" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__website_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website +msgid "Website" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_website +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Websites" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight +msgid "Weight" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_id +msgid "Weight Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__shipping_weight +msgid "Weight for Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__weight +msgid "" +"Weight of the product, packaging not included. The unit of measure can be " +"changed in the general settings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_name +msgid "Weight unit of measure label" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. This is the default " +"value for all products in this category. It can also directly be set on each " +"product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_input +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. When not set on the " +"product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. This is the " +"default value for all products in this category. It can also directly be set " +"on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_output +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. When not set on " +"the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_journal +msgid "" +"When doing real-time inventory valuation, this is the Accounting Journal in " +"which entries will be automatically posted when stock moves are processed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "" +"When real-time inventory valuation is enabled on a product, this account " +"will hold the current value of the products." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__is_locked +msgid "" +"When the picking is not done this allows changing the initial demand. When " +"the picking is done this allows changing the done quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_id +msgid "You can find a contact by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "You can find a customer by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__zip +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__zip +msgid "Zip" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "choose" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__import_orders_from_date +msgid "" +"do not consider non-imported sale orders before this date. Leave empty to " +"import all sale orders" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com/admin" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "get" +msgstr "" + +#. module: connector_magento +#: model:product.product,weight_uom_name:connector_magento.product_product_rewards +#: model:product.product,weight_uom_name:connector_magento.product_product_store_credit +#: model:product.template,weight_uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,weight_uom_name:connector_magento.product_product_store_credit_product_template +msgid "kg" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "mag-" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner_category +msgid "magento.res.partner.category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__amount_by_group +msgid "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__warehouse_id +msgid "warehouse" +msgstr "" diff --git a/connector_magento/i18n/fr.po b/connector_magento/i18n/fr.po new file mode 100644 index 000000000..e420135b9 --- /dev/null +++ b/connector_magento/i18n/fr.po @@ -0,0 +1,5453 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * connector_magento +# +# Translators: +# Guewen Baconnier , 2015 +msgid "" +msgstr "" +"Project-Id-Version: connector-magento (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-07-22 09:38+0000\n" +"PO-Revision-Date: 2015-07-17 14:48+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: French (http://www.transifex.com/oca/OCA-connector-" +"magento-8-0/language/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__state +msgid "" +" * Draft: not confirmed yet and will not be scheduled until confirmed.\n" +" * Waiting Another Operation: waiting for another move to proceed before it " +"becomes automatically available (e.g. in Make-To-Order flows).\n" +" * Waiting: if it is not ready to be sent because the required products " +"could not be reserved.\n" +" * Ready: products are reserved and ready to be sent. If the shipping policy " +"is 'As soon as possible' this happens as soon as anything is reserved.\n" +" * Done: has been processed, can't be modified or cancelled anymore.\n" +" * Cancelled: has been cancelled, can't be confirmed anymore." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__state +msgid "" +" * The 'Draft' status is used when a user is encoding a new and unconfirmed " +"Invoice.\n" +" * The 'Open' status is used when user creates invoice, an invoice number is " +"generated. It stays in the open status till the user pays the invoice.\n" +" * The 'In Payment' status is used when payments have been registered for " +"the entirety of the invoice in a journal configured to post entries at bank " +"reconciliation only, and some of them haven't been reconciled with a bank " +"statement line yet.\n" +" * The 'Paid' status is set automatically when the invoice is paid. Its " +"related journal entries may or may not be reconciled.\n" +" * The 'Cancelled' status is used when user cancel invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_count +msgid "# Product Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__product_count +#, fuzzy +msgid "# Products" +msgstr "Article" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__magento_order_id +msgid "'order_id' field in Magento" +msgstr "Champ 'order_id' dans Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "(recompute)" +msgstr "(recalculer)" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +msgid "A Magento binding for this invoice already exists." +msgstr "Un lien Magento pour cette facture existe déjà." + +#. module: connector_magento +#: sql_constraint:magento.backend:0 +msgid "A backend with the same sale prefix already exists" +msgstr "Ce préfixe de vente est déjà configuré pour un autre backend." + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 sql_constraint:magento.address:0 +#: sql_constraint:magento.binding:0 sql_constraint:magento.product.category:0 +#: sql_constraint:magento.product.product:0 +#: sql_constraint:magento.res.partner:0 +#: sql_constraint:magento.res.partner.category:0 +#: sql_constraint:magento.sale.order:0 sql_constraint:magento.sale.order.line:0 +#: sql_constraint:magento.stock.picking:0 sql_constraint:magento.store:0 +#: sql_constraint:magento.storeview:0 sql_constraint:magento.website:0 +msgid "A binding already exists with the same Magento ID." +msgstr "Un lien avec le même Id. Magento existe déjà." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__description_sale +msgid "" +"A description of the Product that you want to communicate to your customers. " +"This description will be copied to every Sales Order, Delivery Order and " +"Customer Invoice/Credit Note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "" +"A parent sales order has been canceled on the backend and needs to be " +"canceled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_id +#, fuzzy +msgid "A parent sales order is a sales order replaced by this one." +msgstr "La commande Magento est déjà dans l'état %s" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order needs cancel" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.address:0 +msgid "A partner address can only have one binding by backend." +msgstr "Une adresse ne peut avoir qu'un seul lien par backend." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__sale_prefix +#, fuzzy +msgid "" +"A prefix put before the name of imported sales orders.\n" +"For instance, if the prefix is 'mag-', the sales order 100000692 in Magento, " +"will be named 'mag-100000692' in Odoo." +msgstr "" +"Un préfixe ajouté devant le nom des commandes importées.\n" +"Par exemple, avec le préfixe \"mag-\", la commande 100000692 dans Magento " +"sera nommée \"mag-100000692\" dans Odoo." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "API" +msgstr "API" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_warning +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_warning +msgid "Access warning" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "" +"According to product configuration, the delivered quantity can be " +"automatically computed by mechanism :\n" +" - Manual: the quantity is set manually on the line\n" +" - Analytic From expenses: the quantity is the quantity sum from posted " +"expenses\n" +" - Timesheet: the quantity is the sum of hours recorded on tasks linked to " +"this sale line\n" +" - Stock Moves: the quantity comes from confirmed pickings\n" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__account_id +msgid "Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date +msgid "Accounting Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__bank_account_required +msgid "" +"Activate this option if this payment method requires you to know the bank " +"account number of your customer or supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__active +msgid "Active" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_ids +msgid "Activities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_state +msgid "Activity State" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__comment +#, fuzzy +msgid "Additional Information" +msgstr "Informations" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__additional_info +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__additional_info +msgid "Additional info" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__type +msgid "Address Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_magento_order_address +msgid "Address from a Magento Order" +msgstr "Adresse d'une commande Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__admin_location +msgid "Admin Location" +msgstr "Emplacement de l'interface Admin" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Advanced Configuration" +msgstr "Configuration avancée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__all_qty_delivered +msgid "All quantities delivered" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__lang +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this " +"language." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:76 +#, python-format +msgid "Already exported" +msgstr "Déjà exporté" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/importer.py:374 +#, python-format +msgid "Already imported" +msgstr "Déjà importé" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:200 +#, python-format +msgid "Already up-to-date." +msgstr "Déjà à jour" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_undiscounted +msgid "Amount Before Discount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual +msgid "Amount Due" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Amount Due in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_signed +msgid "Amount Due in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__consider_as_company +msgid "" +"An account imported with a 'company' in the billing address is considered as " +"a company.\n" +" The partner takes the name of the company and is not merged with the " +"billing address." +msgstr "" +"Un compte importé avec une société dans l'adresse de facturation est " +"considérée comme un compte de société. En ce cas, le partenaire récupère le " +"nom de la société et n'est pas fusionné avec l'adresse (contact) de " +"facturation." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__account_analytic_id +msgid "Analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_line_ids +msgid "Analytic lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__token +msgid "" +"Authentication token for Magento 2.0+. See https://devdocs. magento.com/" +"guides/v2.3/get-started/authentication/gs-authentication-token.html" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__authorized_transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__authorized_transaction_ids +msgid "Authorized Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Auto-complete from a past bill." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__workflow_process_id +msgid "Automatic Workflow" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__available_carrier_ids +msgid "Available Carriers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_id +#, fuzzy +msgid "Back Order of" +msgstr "Bons de Commande" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_ids +msgid "Back Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_backend +msgid "Backends" +msgstr "Backends" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_account_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_account_count +msgid "Bank" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "" +"Bank Account Number to which the invoice will be paid. A Company bank " +"account if this is a Customer Invoice or Vendor Credit Note, otherwise a " +"Partner bank account number." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Bank Account Required" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_ids +msgid "Banks" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__barcode +msgid "Barcode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__base_media_url +msgid "Base Media Url" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__base_media_url +msgid "" +"Base URL to retrieve product images. Used for Magento2 only. For example: " +"http://magento/media" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic Auth. Password" +msgstr "Mot de passe d'auth. basique" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic Auth. Username" +msgstr "Utilisateur d'auth. basique" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic access authentication web server side password" +msgstr "Mot de passe d'authentification HTTP \"Basic\"" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic access authentication web server side username" +msgstr "Nom d'utilisateur d'authentification HTTP \"Basic\"" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image +msgid "Big-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__birthday +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_users__birthday +msgid "Birthday" +msgstr "Anniversaire" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_bounce +msgid "Bounce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_bulk +msgid "Bulk Weight" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#, fuzzy +msgid "" +"By clicking on the buttons,\n" +" you will initiate the synchronizations\n" +" with Magento.\n" +" Note that the import or exports\n" +" won't be done directly,\n" +" they will create 'Jobs'\n" +" executed as soon as possible." +msgstr "" +"En cliquant sur les boutons,\n" +" Vous allez initier les synchronisations\n" +" avec Magento.\n" +" Important: les imports et exports\n" +" ne sont pas exécutés immédiatement,\n" +" ils vont créer des 'jobs',\n" +" exécutés aussitôt que possible." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_updatable +msgid "Can Edit Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__purchase_ok +msgid "Can be Purchased" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__rental +msgid "Can be Rent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_ok +msgid "Can be Sold" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Cancel" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:113 +#, python-format +msgid "Cancel sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__canceled_in_backend +msgid "Canceled in backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:71 +#, python-format +msgid "" +"Canceled: the delivery order does not contain lines from the original sale " +"order." +msgstr "" +"Annulé : le bon de livraison ne contient aucune ligne provenant de la " +"commande originale." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__cancellation_resolved +msgid "Cancellation from the backend resolved" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_id +msgid "Carrier" +msgstr "Transporteur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Cash Rounding Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_from_categ_ids +msgid "Category Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__channel_ids +msgid "Channels" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "" +"Check if the storeview is active in Magento but its sales orders should not " +"be imported." +msgstr "" +"Ne pas importer les commandes de cette vue magasin même si celle-ci est " +"active sur Magento." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__has_packages +msgid "Check the existence of destination packages on move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Check the existence of pack operation on the picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer +msgid "" +"Check this box if this contact is a customer. It can be selected in sales " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier +msgid "" +"Check this box if this contact is a vendor. It can be selected in purchase " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__employee +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__no_stock_sync +msgid "Check this to exclude the product from stock synchronizations." +msgstr "Exclure ce produit des synchronisations de stock." + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_backend/common.py:246 +#, python-format +msgid "" +"Check your configuration, we can't get the data. Here is the error:\n" +"%s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__child_id +#, fuzzy +msgid "Child Categories" +msgstr "Catégories filles Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__child_ids +msgid "Child Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__product_stock_field_id +msgid "" +"Choose the field of the product which will be used for stock inventory " +"updates.\n" +"If empty, Quantity Available is used." +msgstr "" +"Choisir le champ de l'article qui doit être utilisé pour mettre à jour la " +"quantité en stock.Quand le champ est vide, la quantité en stock est utilisée." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__city +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__city +msgid "City" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Close" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__code +msgid "Code" +msgstr "Code" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__color +msgid "Color Index" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__commitment_date +msgid "Commitment Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref_company_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__company_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Company" +msgstr "Société" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_currency_id +#, fuzzy +msgid "Company Currency" +msgstr "Société" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_name +#, fuzzy +msgid "Company Name" +msgstr "Société" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_company_name +#, fuzzy +msgid "Company Name Entity" +msgstr "Quantité calculée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_type +#, fuzzy +msgid "Company Type" +msgstr "Société" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_gid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_users__company +msgid "Company name (in Magento)" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Complete" +msgstr "Complet" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contact_address +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contact_address +#, fuzzy +msgid "Complete Address" +msgstr "Complet" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__complete_name +msgid "Complete Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__effective_date +msgid "Completion date of the first delivery order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_qty +msgid "Computed Quantity" +msgstr "Quantité calculée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__confirmation_date +#, fuzzy +msgid "Confirmation Date" +msgstr "Configuration principale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__consider_as_company +msgid "Considered as company" +msgstr "Considéré comme une société" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner +msgid "Contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__child_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__child_ids +msgid "Contacts" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contracts_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__standard_price +msgid "Cost" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_currency_id +msgid "Cost Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_method +msgid "Cost Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__standard_price +msgid "" +"Cost used for stock valuation in standard price and as a first price to set " +"in average/fifo. Also used as a base price for pricelists. Expressed in the " +"default unit of measure of the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_cost_method +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_cost_method +#, fuzzy +msgid "Costing Method" +msgstr "Méthode de livraison" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__country_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__country_id +msgid "Country" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +msgid "Create invoice on" +msgstr "Créer la facture sur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_payment_mode__create_invoice_on +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_invoice_on +msgid "Create invoice on action" +msgstr "Créer la facture sur l'action" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__created_at +msgid "Created At (on Magento)" +msgstr "Créé le (sur Magento)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date +#, fuzzy +msgid "Creation Date" +msgstr "Créé le" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date +msgid "Creation Date, usually the time of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__currency_id +msgid "Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__qty_available +msgid "" +"Current quantity of products.\n" +"In a context with a single Stock Location, this includes goods stored at " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"stored in the Stock Location of the Warehouse of this Shop, or any of its " +"children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_custom_api_path +msgid "Custom Api Path" +msgstr "Chemin d'API personnalisé" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_partner_id +#, fuzzy +msgid "Customer" +msgstr "Client invité" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_delay +msgid "Customer Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_customer +#, fuzzy +msgid "Customer Location" +msgstr "Emplacement de l'interface Admin" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer_payment_mode_id +#, fuzzy +msgid "Customer Payment Mode" +msgstr "Méthode de paiement" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__partner_ref +#, fuzzy +msgid "Customer Ref" +msgstr "Client invité" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__client_order_ref +msgid "Customer Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__taxes_id +msgid "Customer Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__date +msgid "Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date_done +msgid "Date at which the transfer has been processed or cancelled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date_done +msgid "Date of Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__confirmation_date +msgid "Date on which the sales order is confirmed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_billing +msgid "Default Invoice" +msgstr "Adresse de facturation par défaut" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_lang_id +msgid "Default Language" +msgstr "Langue par défaut" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__owner_id +#, fuzzy +msgid "Default Owner" +msgstr "Adresse de facturation par défaut" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_category_id +msgid "Default Product Category" +msgstr "Catégorie d'articles par défaut" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_shipping +msgid "Default Shipping" +msgstr "Adresse de livraison par défaut" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Default taxes used when buying the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__taxes_id +msgid "Default taxes used when selling the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_id +msgid "Default unit of measure used for all stock operations." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_po_id +msgid "" +"Default unit of measure used for purchase orders. It must be in the same " +"category as the default unit of measure." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__seller_ids +msgid "Define vendor pricelists." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "" +"Defines the smallest coinage of the currency that can be used to pay by cash." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__trust +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_manual +msgid "Delivered Manually" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered +msgid "Delivered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_shipping_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Delivery Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_message +msgid "Delivery Message" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_count +#, fuzzy +msgid "Delivery Orders" +msgstr "Bon de livraison Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_rating_success +msgid "Delivery Rating Success" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__expected_date +msgid "" +"Delivery date you can promise to the customer, computed from product lead " +"times and from the shipping policy of the order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_delay +msgid "" +"Delivery lead time, in days. It's the number of days, promised to the " +"customer, between the confirmation of the sales order and the delivery." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__route_ids +msgid "" +"Depending on the modules installed, this will allow you to define the route " +"of the product: whether it will be bought, manufactured, MTO, etc." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__name +msgid "Description" +msgstr "Description" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingout +msgid "Description on Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_picking +#, fuzzy +msgid "Description on Picking" +msgstr "Description" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingin +msgid "Description on Receptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_dest_id +msgid "Destination Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__display_name +msgid "Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_type +msgid "Display Type" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Do Not Manage Stock" +msgstr "Ne pas gérer les stock" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "" +"Does the invoice export/creation should send an email notification on " +"Magento side?" +msgstr "" +"Définit si Magento doit envoyer un e-mail lors de l'export des factures." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_picking_done_mail +msgid "" +"Does the picking export/creation should send an email notification on " +"Magento side?" +msgstr "" +"Définit si Magento doit envoyer un e-mail lors de l'export des bons de " +"livraisons." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "" +"Down payments are made when creating invoices from a sales order. They are " +"not copied when duplicating a sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_due +msgid "Due Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__emailid +msgid "E-mail address" +msgstr "Adresse e-mail" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__effective_date +msgid "Effective Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email +msgid "Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__employee +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__employee +msgid "Employee" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__enabled +msgid "Enabled" +msgstr "Activé" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tracking +msgid "Ensure the traceability of a storable product in your warehouse." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_price +#, fuzzy +msgid "Estimated Delivery Price" +msgstr "Bon de livraison Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exception_ids +#, fuzzy +msgid "Exceptions" +msgstr "Options" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exceptions_summary +msgid "Exceptions Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_expense_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Expense Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__expense_policy +msgid "" +"Expenses and vendor bills can be re-invoiced to a customer.With this option, " +"a validated expense can be re-invoice to a customer at its cost or sales " +"price." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_export_tracking +msgid "Export tracking numbers" +msgstr "Exporter la référence de suivi transporteur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_ids +msgid "Extra categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__data +msgid "File" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__name +#, fuzzy +msgid "File Name" +msgstr "Nom" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__carrier_id +msgid "Fill this field if you plan to invoice the shipping based on picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__fiscal_position_id +msgid "Fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Force Removal Strategy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__virtual_available +#, fuzzy +msgid "Forecast Quantity" +msgstr "Quantité calculée" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__virtual_available +msgid "" +"Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n" +"In a context with a single Stock Location, this includes goods stored in " +"this location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Get" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__packaging_ids +msgid "Gives the different ways to package the same product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sequence +msgid "Gives the sequence order when displaying a product list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__guest_customer +msgid "Guest Customer" +msgstr "Client invité" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hs_code +#, fuzzy +msgid "HS Code" +msgstr "Code" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "HTTP Authentication" +msgstr "Authentification HTTP" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__has_checkpoint +msgid "Has Checkpoint" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__has_outstanding +msgid "Has Outstanding" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Has Pack Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_packages +msgid "Has Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_scrap_move +msgid "Has Scrap Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_tracking +msgid "Has Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__need_cancel +msgid "Has been canceled on the backend, need to be canceled." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Here is the file with information read drom the backend:" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hide_expense_policy +msgid "Hide Expense Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__id +msgid "ID" +msgstr "Id." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__external_id +msgid "ID on Magento" +msgstr "ID sur Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__im_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__im_status +msgid "IM Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_category_id +msgid "" +"If a default category is selected, products imported without a category will " +"be linked to it." +msgstr "" +"Si une catégorie par défaut est sélectionnée, les articles importés sans " +"catégorie y seront liés." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_lang_id +msgid "" +"If a default language is selected, the records will be imported in the " +"translation of this language.\n" +"Note that a similar configuration exists for each storeview." +msgstr "" +"Si une langue par défaut est sélectionnée, les enregistements seront " +"importés dans la traduction de cette langue.\n" +"Note: une configuration similaire peut être définie sur chaque vue magasin." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__team_id +msgid "" +"If set, this Sales Team will be used for sales and assignations related to " +"this partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "" +"If specified, this fiscal position will be used to fill the field fiscal " +"position on the sale order created by the connector.The value can also be " +"specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_warehouse_id +msgid "" +"If specified, this warehouse will be used to load fill the field warehouse " +"(and company) on the sale order created by the connector.The value can also " +"be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_website__is_multi_company +msgid "" +"If this flag is set, it is possible to choose warehouse at each level. When " +"import partner, ignore company_id if this flag is set." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__backorder_id +msgid "" +"If this shipment was split, then this field links to the shipment which " +"contains the already processed part." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "If ticked, you will be able to select entire packages to move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__active +msgid "" +"If unchecked, it will allow you to hide the product without removing it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__picking_policy +msgid "" +"If you deliver all products at once, the delivery order will be scheduled " +"based on the greatest product lead time. Otherwise, it will be based on the " +"shortest." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__payment_term_id +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. If you keep the payment terms and the due " +"date empty, it means direct payment. The payment terms may compute several " +"due dates, for example 50% now, 50% in one month." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_due +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. The Payment terms may compute several due " +"dates, for example 50% now and 50% in one month, but if you want to force a " +"due date, make sure that the payment term is not set on the invoice. If you " +"keep the Payment terms and the due date empty, it means direct payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__ignore_exception +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__ignore_exception +#, fuzzy +msgid "Ignore Exceptions" +msgstr "Options d'inventaire" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image +msgid "Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__product_image +msgid "" +"Image of the product variant (Big-sized image of product template if false). " +"It is automatically resized as a 1024x1024px image, with aspect ratio " +"preserved." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_medium +msgid "" +"Image of the product variant (Medium-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_small +msgid "" +"Image of the product variant (Small-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__immediate_transfer +msgid "Immediate Transfer" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders" +msgstr "Importer les commandes" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders since" +msgstr "Importer les commandes depuis" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import all customer groups" +msgstr "Importer tous les groupes client" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_categories_from_date +msgid "Import categories from date" +msgstr "Importer les catégories depuis la date" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import in background" +msgstr "Importer en arrière-plan" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import partners from all websites" +msgstr "Importer les clients de tous les sites web" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__import_partners_from_date +msgid "Import partners from date" +msgstr "Importer les clients depuis la date" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import partners since" +msgstr "Importer les partenaires depuis" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products categories since" +msgstr "Importer les catégories d'articles depuis" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_products_from_date +msgid "Import products from date" +msgstr "Importer les articles depuis la date" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products since" +msgstr "Importer les articles depuis" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__import_orders_from_date +msgid "Import sale orders from date" +msgstr "Importer les commandes depuis une date" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import sales orders from all store views" +msgstr "Importer les commandes depuis toutes les vues magasin" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Imports" +msgstr "Imports" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_internal_id +msgid "" +"In Magento2, we have to keep track of both the external_id (the product SKU) " +"which is used in the Magento2 REST API, as well as the Magento internal id " +"as used in the admin URL." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_income_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_income_id +msgid "Income Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__incoming_qty +msgid "Incoming" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterm_id +msgid "Incoterm" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterms_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__incoterm +msgid "Incoterms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterms_id +msgid "" +"Incoterms are series of sales terms. They are used to divide transaction " +"costs and responsibilities between buyer and seller and reflect state-of-the-" +"art transportation practices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__industry_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__industry_id +msgid "Industry" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Informations" +msgstr "Informations" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__default_code +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref +msgid "Internal Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__barcode +msgid "International Article Number used for product identification." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterm_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__incoterm +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_inventory +#, fuzzy +msgid "Inventory Location" +msgstr "Options d'inventaire" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "Inventory Options" +msgstr "Options d'inventaire" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_valuation +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_valuation +#, fuzzy +msgid "Inventory Valuation" +msgstr "Options d'inventaire" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_invoice +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn +msgid "Invoice" +msgstr "Facture" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_invoice_id +#, fuzzy +msgid "Invoice Address" +msgstr "Facture créée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_count +msgid "Invoice Count" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/account_invoice/exporter.py:25 +#, python-format +msgid "Invoice Created" +msgstr "Facture créée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_invoice +#, fuzzy +msgid "Invoice Date" +msgstr "Facture créée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_icon +msgid "Invoice Icon" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_line_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_lines +#, fuzzy +msgid "Invoice Lines" +msgstr "Facture" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_shipping_on_delivery +msgid "Invoice Shipping on Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_status +#, fuzzy +msgid "Invoice Status" +msgstr "Facture créée" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_id +msgid "Invoice for which this invoice is the credit note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_invoiced +msgid "Invoiced Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_ids +#, fuzzy +msgid "Invoices" +msgstr "Facture" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__invoice_policy +msgid "Invoicing Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__is_multi_company +msgid "Is Backend Multi-Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__is_locked +msgid "Is Locked" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__is_product_variant +msgid "Is Product Variant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_company +#, fuzzy +msgid "Is a Company" +msgstr "Société" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer +#, fuzzy +msgid "Is a Customer" +msgstr "Client invité" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_delivery +msgid "Is a Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Is a down payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is expense" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__is_expired +msgid "Is expired" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is true if the sales order line comes from an expense or a vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reconciled +msgid "" +"It indicates that the invoice has been paid and the journal entry of the " +"invoice has been reconciled with one or several journal entries of payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__sent +msgid "It indicates that the invoice has been sent." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_type +msgid "It specifies goods to be deliver partially or all at once" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__function +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__function +msgid "Job Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_id +msgid "Journal Entry" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_name +msgid "Journal Entry Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__journal_item_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_invoice +msgid "Keep empty to use the current date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date +msgid "Keep empty to use the invoice date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_income_id +msgid "" +"Keep this field empty to use the default value from the product category." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_expense_id +msgid "" +"Keep this field empty to use the default value from the product category. If " +"anglo-saxon accounting with automated valuation method is configured, the " +"expense account on the product category will be used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__lang_id +msgid "Language" +msgstr "Langue" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_address____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_store____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_website____last_update +#, fuzzy +msgid "Last Modified on" +msgstr "Dernière mise à jour le" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_qty +msgid "Last computed quantity to send on Magento." +msgstr "Dernière quantité calculée à envoyer à Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sync_date +msgid "Last synchronization date" +msgstr "Dernière date de synchronisation" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "" +"Last time the invoices & payments matching was performed for this partner. " +"It is set either if there's not at least an unreconciled debit and an " +"unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_id +msgid "Link to the automatically generated Journal Items." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__location +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__location_id +msgid "Location" +msgstr "Emplacement" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_root +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_delivery_carrier_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_category_form +msgid "Magento" +msgstr "Magento" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_categories_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_categories +#: model:ir.cron,name:connector_magento.ir_cron_import_product_categories +msgid "Magento - Import Product Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_product_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_product +#: model:ir.cron,name:connector_magento.ir_cron_import_product_product +msgid "Magento - Import Products" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_update_product_stock_qty_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_update_product_stock_qty +#: model:ir.cron,name:connector_magento.ir_cron_update_product_stock_qty +msgid "Magento - Update Stock Quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_customer_groups_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_customer_groups +#: model:ir.cron,name:connector_magento.ir_cron_import_customer_groups +msgid "Magento - Import Customer Groups" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_partners_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_partners +#: model:ir.cron,name:connector_magento.ir_cron_import_partners +msgid "Magento - Import Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_sale_orders_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_sale_orders +#: model:ir.cron,name:connector_magento.ir_cron_import_sale_orders +msgid "Magento - Import Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_address +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_tree +msgid "Magento Address" +msgstr "Adresse Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_address_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Magento Address Bindings" +msgstr "Liens avec les adresses Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_backend +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__backend_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_tree +msgid "Magento Backend" +msgstr "Backend Magento" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_backend +msgid "Magento Backends" +msgstr "Backends Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_carrier_code +#, fuzzy +msgid "Magento Base Carrier Code" +msgstr "Code de transporteur Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding +msgid "Magento Binding (abstract)" +msgstr "Lien Magento (abstrait)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_binding_model +msgid "Magento Binding Model" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_stock_picking__magento_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:connector_magento.view_invoice_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_sale_order_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_stock_picking_out_magento_form +msgid "Magento Bindings" +msgstr "Liens Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_code +msgid "Magento Carrier Code" +msgstr "Code de transporteur Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_child_ids +msgid "Magento Child Categories" +msgstr "Catégories filles Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Magento Configuration" +msgstr "Configuration Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_config_specializer +msgid "Magento Configuration Specializer Mixin" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_stock_picking +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_tree +msgid "Magento Delivery Order" +msgstr "Bon de livraison Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding_backend_read +msgid "Magento Generic Object Reader Wizard" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__group_id +msgid "Magento Group (Category)" +msgstr "Groupe de client Magento (Catégorie)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_id +#, fuzzy +msgid "Magento Id" +msgstr "Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_internal_id +msgid "Magento Internal" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_account_invoice +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_tree +msgid "Magento Invoice" +msgstr "Facture Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_id +msgid "Magento Order ID" +msgstr "ID de commande Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_line_ids +msgid "Magento Order Lines" +msgstr "Lignes de commande Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_parent_id +msgid "Magento Parent Category" +msgstr "Catégorie parente dans Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_partner_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_tree +msgid "Magento Partner" +msgstr "Client Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_product +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_tree +msgid "Magento Product" +msgstr "Article Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_category +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_tree +msgid "Magento Product Category" +msgstr "Catégorie d'articles Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_type +msgid "Magento Product Type" +msgstr "Type d'article Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_binding_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__product_binding_ids +msgid "Magento Products" +msgstr "Articles Magento" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_rewards +#: model:product.template,name:connector_magento.product_product_rewards_product_template +#, fuzzy +msgid "Magento Rewards" +msgstr "Backends Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_order_id +msgid "Magento Sale Order" +msgstr "Commande Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order_line +msgid "Magento Sale Order Line" +msgstr "Ligne de commande Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_tree +#, fuzzy +msgid "Magento Sales Orders" +msgstr "Commande Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_tree +msgid "Magento Store" +msgstr "Magasin Magento" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_store_credit +#: model:product.template,name:connector_magento.product_product_store_credit_product_template +#, fuzzy +msgid "Magento Store Credit" +msgstr "Magasin Magento" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_store +msgid "Magento Stores" +msgstr "Magasins Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_storeview +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__storeview_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_tree +msgid "Magento Storeview" +msgstr "Vue magasin Magento" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_storeview +msgid "Magento Storeviews" +msgstr "Vues magasin Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_tracking_title +msgid "Magento Tracking Title" +msgstr "Titre de suivi de livraison sur Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__taxvat +msgid "Magento VAT" +msgstr "TVA Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_website +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__website_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_tree +msgid "Magento Website" +msgstr "Site web Magento" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_website +msgid "Magento Websites" +msgstr "Sites web Magento" + +#. module: connector_magento +#: model:res.partner.category,name:connector_magento.category_no_account +msgid "Magento guest users" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:58 +#, python-format +msgid "Magento sales order is already in state %s" +msgstr "La commande Magento est déjà dans l'état %s" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Main Configuration" +msgstr "Configuration principale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__main_exception_id +msgid "Main Exception" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backorders +msgid "Manage Inventory Backorders" +msgstr "Commandes en rupture de stock" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Manage Stock" +msgstr "Gérer les stocks" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__manage_stock +msgid "Manage Stock Level" +msgstr "Gérer les stocks" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__service_type +msgid "" +"Manually set quantities on order: Invoice based on the manually entered " +"quantity, without creating an analytic account.\n" +"Timesheets on contract: Invoice based on the tracked hours on the related " +"timesheet.\n" +"Create a task and track hours: Create a task on the sales order validation " +"and track the work hours." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_medium +msgid "" +"Medium-sized image of this contact. It is automatically resized as a " +"128x128px image, with aspect ratio preserved. Use this field in form views " +"or some kanban views." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn_msg +#, fuzzy +msgid "Message for Invoice" +msgstr "Facture Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn_msg +#, fuzzy +msgid "Message for Sales Order" +msgstr "Commande Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn_msg +#, fuzzy +msgid "Message for Sales Order Line" +msgstr "Ligne de commande Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn_msg +#, fuzzy +msgid "Message for Stock Picking" +msgstr "Bon de livraison" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_ids +msgid "Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "Method to update delivered qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__orderpoint_ids +msgid "Minimum Stock Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__mobile +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__mobile +msgid "Mobile" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "Move Entire Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__name +msgid "Name" +msgstr "Nom" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signed_by +msgid "Name of the person that signed the SO." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__need_cancel +msgid "Need to be canceled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__newsletter +msgid "Newsletter" +msgstr "Newsletter" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next +msgid "Next Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next_prefix +msgid "Next Number Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "No Sales Order Synchronization" +msgstr "Pas de synchronisation de commandes" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "No Sell" +msgstr "Pas de commandes au delà des stocks" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__no_stock_sync +msgid "No Stock Synchronization" +msgstr "Pas de synchronisation de stock" + +#. module: connector_magento +#: code:addons/connector_magento/models/queue_job/common.py:26 +#, python-format +msgid "" +"No admin URL configured on the backend or no admin path is defined for this " +"record." +msgstr "" +"Pas d'URL pour l'interface d'administration configurée sur le backend ou pas " +"de chemin \"admin\" défini pour cet enregistrement." + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:79 +#, python-format +msgid "No tracking number to send." +msgstr "Pas de numéro de suivi à envoyer." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__notes +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__note +msgid "Notes" +msgstr "Notes" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:364 +#: code:addons/connector_magento/components/exporter.py:369 +#, python-format +msgid "Nothing to export." +msgstr "Rien à exporter." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__number +msgid "Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__customer_lead +msgid "" +"Number of days between the order confirmation and the shipping of the " +"products to the customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__odoo_id +msgid "Odoo Product" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#, fuzzy +msgid "" +"Once imported,\n" +" some types of records,\n" +" like the products or categories,\n" +" need a manual review.\n" +" You will find the list\n" +" of the new records to review\n" +" in the menu 'Connectors > Checkpoint'." +msgstr "" +"Une fois importés,\n" +" certains types d'enregistrements,\n" +" comme les articles ou les catégories,\n" +" nécessitent un contrôle manuel.\n" +" Vous trouverez la liste\n" +" des nouveaux enregistrements à vérifier\n" +" dans le menu 'Connecteurs > Point de " +"contrôle'." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_payment +msgid "Online Payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_signature +msgid "Online Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__verify_ssl +msgid "Only for Magento 2.0+" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_id +msgid "Operation Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids +msgid "Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids_without_package +msgid "Operations without package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_option_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sale_order_option_ids +msgid "Optional Products Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Options" +msgstr "Options" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__date_order +msgid "Order Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__order_line +#, fuzzy +msgid "Order Lines" +msgstr "Ligne de commande" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_id +msgid "Order Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__state +msgid "Order Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom_qty +msgid "Ordered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__invoice_policy +msgid "" +"Ordered Quantity: Invoice quantities ordered by the customer.\n" +"Delivered Quantity: Invoice quantities delivered to the customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__outgoing_qty +msgid "Outgoing" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__outstanding_credits_debits_widget +msgid "Outstanding Credits Debits Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__owner_id +msgid "Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_packaging +msgid "Package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids +msgid "Package Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids_details +msgid "Package Level Ids Details" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_ids +msgid "Packages" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Paid" +msgstr "Payé" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reconciled +msgid "Paid/Reconciled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_id +#, fuzzy +msgid "Parent Category" +msgstr "Catégorie de partenaire" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_parent_id +msgid "Parent Magento Order" +msgstr "Commande Magento parente" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_id +#, fuzzy +msgid "Parent Order" +msgstr "Commande Magento parente" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_path +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_path +msgid "Parent Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_name +msgid "Parent name" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Partial" +msgstr "Partiel" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__partner_id +msgid "Partner" +msgstr "Partenaire" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__odoo_id +msgid "Partner Category" +msgstr "Catégorie de partenaire" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contract_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner_category +msgid "Partner Tags" +msgstr "Catégories de partenaires" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__partner_ids +#, fuzzy +msgid "Partners" +msgstr "Partenaire" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__password +msgid "Password" +msgstr "Mot de passe" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_mode_id +#, fuzzy +msgid "Payment Mode" +msgstr "Méthode de paiement" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_payment_mode +#, fuzzy +msgid "Payment Modes" +msgstr "Méthode de paiement" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_move_line_ids +#, fuzzy +msgid "Payment Move Lines" +msgstr "Lignes de commande Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reference +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__reference +msgid "Payment Ref." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_term_id +#, fuzzy +msgid "Payment Terms" +msgstr "Méthode de paiement" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_ids +#, fuzzy +msgid "Payment Tokens" +msgstr "Méthode de paiement" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_ids +#, fuzzy +msgid "Payments" +msgstr "Méthode de paiement" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payments_widget +msgid "Payments Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__phone +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__phone +msgid "Phone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_method +msgid "Picking Method" +msgstr "Méthode de livraison" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price +msgid "Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce +msgid "Price Reduce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxexcl +msgid "Price Reduce Tax excl" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxinc +msgid "Price Reduce Tax inc" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__list_price +msgid "Price at which the product is sold to customers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_item_ids +msgid "Pricelist Item" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__item_ids +msgid "Pricelist Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__catalog_price_tax_included +msgid "Prices include tax" +msgstr "Prix taxes-incluses" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_id +#, fuzzy +msgid "Pricing/Primary Category" +msgstr "Catégorie de partenaire" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__printed +msgid "Printed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__priority +msgid "Priority" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__priority +msgid "" +"Priority for this picking. Setting manually a value here would set it as " +"priority for all the moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__procurement_group_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__group_id +msgid "Procurement Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_product +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__product_id +msgid "Product" +msgstr "Article" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_line_ids +msgid "Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_category +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__odoo_id +msgid "Product Category" +msgstr "Catégorie d'articles" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_image +msgid "Product Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__packaging_ids +msgid "Product Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_tmpl_id +#, fuzzy +msgid "Product Template" +msgstr "Catégorie d'articles" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__type +#, fuzzy +msgid "Product Type" +msgstr "Type d'article Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_no_variant_attribute_value_ids +msgid "Product attribute values that do not create variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_production +#, fuzzy +msgid "Production Location" +msgstr "Emplacement de l'interface Admin" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_ids +#, fuzzy +msgid "Products" +msgstr "Article" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__delivery_type +msgid "Provider" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_purchase +#, fuzzy +msgid "Purchase Description" +msgstr "Description" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_po_id +msgid "Purchase Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_at_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_qty +#, fuzzy +msgid "Quantity" +msgstr "Quantité calculée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_available +#, fuzzy +msgid "Quantity On Hand" +msgstr "Autoriser les quantités négatives" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__incoming_qty +msgid "" +"Quantity of planned incoming products.\n" +"In a context with a single Stock Location, this includes goods arriving to " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods arriving to the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods arriving to any Stock Location with " +"'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__outgoing_qty +msgid "" +"Quantity of planned outgoing products.\n" +"In a context with a single Stock Location, this includes goods leaving this " +"Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods leaving the Stock " +"Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods leaving any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_template_id +msgid "Quotation Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__expense_policy +msgid "Re-Invoice Policy" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Read Binding information from backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.magento_binding_backend_read_act_window +msgid "Read information from backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/deleter.py:20 +#, python-format +msgid "Record %s deleted on Magento" +msgstr "Enregistrement %s supprimé sur Magento" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:191 +#, python-format +msgid "Record does no longer exist in Magento" +msgstr "L'enregistrement n'existe plus sur Magento" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:371 +#, python-format +msgid "Record exported with ID %s on Magento." +msgstr "Enregistrement exporté sur Magento avec l'Id. %s" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__name +msgid "Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__origin +msgid "Reference of the document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__origin +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__origin +msgid "Reference of the document that produced this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__name +#, fuzzy +msgid "Reference/Description" +msgstr "Description" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_ids +msgid "Refund Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_id +#, fuzzy +msgid "Related Company" +msgstr "Créé le" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__related_backorder_ids +msgid "Related backorders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__remaining_validity_days +msgid "Remaining Validity Days" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Remaining amount due in the currency of the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_signed +msgid "Remaining amount due in the currency of the invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual +msgid "Remaining amount due." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:136 +#, python-format +msgid "Reopen sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_max_qty +msgid "Reordering Max Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_min_qty +msgid "Reordering Min Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__nbr_reordering_rules +msgid "Reordering Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_signature +msgid "" +"Request a online signature to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_payment +msgid "" +"Request an online payment to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__responsible_id +msgid "Responsible" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__route_id +msgid "Route" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__route_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_ids +msgid "Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_sale +#, fuzzy +msgid "Sale Description" +msgstr "Description" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__odoo_id +msgid "Sale Order" +msgstr "Bons de Commande" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__odoo_id +msgid "Sale Order Line" +msgstr "Ligne de commande" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__sale_prefix +msgid "Sale Prefix" +msgstr "Préfixe de vente" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__lst_price +#, fuzzy +msgid "Sale Price" +msgstr "Préfixe de vente" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__workflow_process_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__workflow_process_id +msgid "Sale Workflow Process" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:53 +#, python-format +msgid "Sale is not linked with a Magento sales order" +msgstr "La commande n'est pas liée à une commande Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sale_id +msgid "Sales Order" +msgstr "Bon de commande" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order_line +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn +msgid "Sales Order Line" +msgstr "Ligne de commande" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__list_price +msgid "Sales Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__team_id +msgid "Sales Team" +msgstr "Équipe de vente" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__salesman_id +#, fuzzy +msgid "Salesperson" +msgstr "Bon de commande" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__scheduled_date +msgid "" +"Scheduled time for the first part of the shipment to be processed. Setting " +"manually a value here would set it as expected date for all the stock moves." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_token +msgid "Security Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__categ_id +msgid "Select category for the current product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_line_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__sale_warn +msgid "" +"Selecting the \"Warning\" option will notify user with the message, " +"Selecting \"Blocking Message\" will throw an exception with the message and " +"block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__self +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__self +msgid "Self" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0" +msgstr "Autoriser les quantités négatives" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0 and Use Customer Notification" +msgstr "Autoriser les quantités négatives et prévenir le client" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Send email notification on invoice validated/paid" +msgstr "" +"Envoyer une notification par email lorsque la facture est validée ou payée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_picking_done_mail +msgid "Send email notification on picking done" +msgstr "Envoi d'e-mail de notification lors des expéditions" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sent +msgid "Sent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sequence +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sequence +msgid "Sequence" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__removal_strategy_id +msgid "" +"Set a specific removal strategy that will be used regardless of the source " +"location for this product category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_share +#, fuzzy +msgid "Share Partner" +msgstr "Client Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_price +#, fuzzy +msgid "Shipping Cost" +msgstr "Expédition créée" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:24 +#, python-format +msgid "Shipping Created" +msgstr "Expédition créée" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_policy +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_type +msgid "Shipping Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_account_payment_mode__create_invoice_on +#, fuzzy +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"If nothing is set, the option falls back to the same option on the Magento " +"store related to the sales order." +msgstr "" +"Définit si la facture est créée dans Magento quand la facture Odoo est " +"validée ou payée.\n" +"Si rien n'est défini, l'option configurée sur la boutique Magento est " +"utilisée." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__create_invoice_on +#, fuzzy +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"This only takes effect if the sales order's related payment method is not " +"giving an option for this by itself. (See Payment Methods)" +msgstr "" +"Définit si la facture est créée dans Magento quand la facture Odoo est " +"validée ou payée.\n" +"Cette option n'est utilisée que si la même option n'est pas définie sur la " +"méthode de paiement de la commande." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Show Check Availability" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_lots_text +msgid "Show Lots Text" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Show Mark As Todo" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_operations +msgid "Show Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_validate +msgid "Show Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signature +msgid "Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signature +msgid "Signature received through the portal." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signed_by +msgid "Signed by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_expiration +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_token +msgid "Signup Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_valid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_url +msgid "Signup URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_small +msgid "" +"Small-sized image of this contact. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sales_count +msgid "Sold" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sort_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sort_order +msgid "Sort Order" +msgstr "Tri" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__origin +msgid "Source Document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__source_email +msgid "Source Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_id +msgid "Source Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_account_analytic_id +msgid "Specific analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "Specific fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_warehouse_id +msgid "Specific warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__hs_code +msgid "" +"Standardized code for international shipping and goods declaration. At the " +"moment, only used for the FedEx shipping provider." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__state_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__state_id +msgid "State" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:50 +#, python-format +msgid "State %s is not exported." +msgstr "L'état %s n'est pas exporté." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__state +msgid "Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_stock_field_id +msgid "Stock Field" +msgstr "Champ de stock" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_manual_move_ids +msgid "Stock Fifo Manual Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_real_time_aml_ids +msgid "Stock Fifo Real Time Aml" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_input +msgid "Stock Input Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_journal +msgid "Stock Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_move_ids +msgid "Stock Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__move_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_lines +#, fuzzy +msgid "Stock Moves" +msgstr "Champ de stock" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_output +msgid "Stock Output Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__odoo_id +msgid "Stock Picking" +msgstr "Bon de livraison" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Stock Quant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "Stock Valuation Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value_currency_id +msgid "Stock Value Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_ids_without_package +msgid "Stock moves not in package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__store_id +msgid "Store" +msgstr "Magasin" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__store_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Stores" +msgstr "Magasins" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__store_id +#, fuzzy +msgid "Storeview" +msgstr "Vues Magasin" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__storeview_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_storeview +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +msgid "Storeviews" +msgstr "Vues Magasin" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street +msgid "Street" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street2 +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street2 +msgid "Street2" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier_payment_mode_id +#, fuzzy +msgid "Supplier Payment Mode" +msgstr "Méthode de paiement" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Synchronize Metadata" +msgstr "Synchronizer les méta-données" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__name +#, fuzzy +msgid "Tag Name" +msgstr "Nom" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__category_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__category_id +msgid "Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax +msgid "Tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__tax_class_id +msgid "Tax Class ID" +msgstr "ID de classe de taxe" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__vat +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__vat +msgid "Tax ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__tax_line_ids +msgid "Tax Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_rate +msgid "Tax Rate" +msgstr "Taux de taxe" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_by_group +msgid "Tax amount by group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax groups are used with some external system like Prestashop" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax_signed +msgid "Tax in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_tax +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_id +msgid "Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_archived_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_existing_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Technical compute" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__display_type +msgid "Technical field for UX purpose." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_name +msgid "" +"Technical field holding the number given to the invoice, automatically set " +"when the invoice is validated then stored to set the same number again if " +"the invoice is cancelled, set to draft and re-validated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_check_availability +msgid "" +"Technical field used to compute whether the check availability button should " +"be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "" +"Technical field used to compute whether the mark as todo button should be " +"shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_validate +msgid "Technical field used to compute whether the validate should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__pricelist_id +msgid "" +"Technical field. Used for searching on pricelists, not stored in database." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_move_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_quant_ids +#, fuzzy +msgid "Technical: used to compute quantities." +msgstr "Entrepôt utilisé pour calculer les quantités en stock." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_template_attribute_value_ids +msgid "Template Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__note +msgid "Terms and conditions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__vat +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount +#, fuzzy +msgid "" +"The amount computed in Odoo doesn't match with the amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" +"Le montant total calculé par OpenERP ne correspond pas au montant calculé " +"par Magento.\n" +"\n" +"Cause:\n" +"La configuration des taxes est probablement différente entre OpenERP et " +"Magento. Une position fiscale peut avoir modifié le prix final.\n" +"\n" +"Résolution:\n" +"Contrôler la configuration des taxes et positions fiscales et les corriger " +"si nécessaire." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__analytic_account_id +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:76 +#, python-format +msgid "The carrier %s does not export tracking numbers." +msgstr "La méthode de livraison %s n'exporte pas les numéros de suivi." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__commercial_partner_id +msgid "" +"The commercial entity that will be used on Journal Entries for this invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__company_id +msgid "The company is automatically set from your user preferences." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/importer.py:328 +#, fuzzy, python-format +msgid "" +"The configurable product is not imported in Odoo, because only the simple " +"products are used in the sales orders." +msgstr "" +"Les produits configurables ne sont pas importés dans Odoo, uniquement les " +"produits simples le sont et sont utilisés dans les commandes." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_custom_api_path +msgid "" +"The default API path is '/index.php/api/xmlrpc'. Check this box if you use a " +"custom API path, in that case, the location has to be completed with the " +"custom API path " +msgstr "" +"Le chemin d'API par défaut est \"/index.php/api/xmlrpc\". Activer pour " +"utiliser un chemin d'API personnalisé. Dans ce cas, l'URL de Magento doit " +"être complétée avec le chemin complet" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_expense_categ_id +msgid "" +"The expense is accounted for when a vendor bill is validated, except in " +"anglo-saxon accounting with perpetual inventory valuation in which case the " +"expense (Cost of Goods Sold account) is recognized at the customer invoice " +"validation." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_position_id +msgid "" +"The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__name +msgid "The name that will be used on account move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__product_count +msgid "" +"The number of products under this category (Does not consider the children " +"categories)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__account_id +msgid "The partner account used for this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "" +"The partner has at least one unreconciled debit and credit since last time " +"the invoices & payments matching was performed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__tz +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__tz +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__reference +msgid "The payment communication of this sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reference +msgid "" +"The payment communication that will be automatically populated once the " +"invoice validation. You can also write a free communication." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__currency_rate +msgid "" +"The rate of the currency to the currency of rate 1 applicable at the date of " +"the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__lst_price +msgid "" +"The sale price is managed from the product template. Click on the 'Configure " +"Variants' button to set the extra attribute prices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_customer +msgid "" +"The stock location used as destination when sending goods to this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "" +"The stock location used as source when receiving goods from this contact." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount_tax +#, fuzzy +msgid "" +"The tax amount computed in Odoo doesn't match with the tax amount in " +"Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" +"Les taxes calculées par OpenERP ne correspondent pas aux tax calculées par " +"Magento.\n" +"\n" +"Cause:\n" +"La configuration des taxes est probablement différente entre OpenERP et " +"Magento. Une position fiscale peut avoir modifié le prix final.\n" +"\n" +"Résolution:\n" +"Contrôler la configuration des taxes et positions fiscales et les corriger " +"si nécessaire." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__volume +msgid "The volume in m3." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:41 +#, python-format +msgid "The wizard must be launched from a magento backend model" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:45 +#, python-format +msgid "The wizard must be launched on a single magento backend instance" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "" +"This account will be used instead of the default one as the payable account " +"for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "" +"This account will be used instead of the default one as the receivable " +"account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_income_categ_id +msgid "This account will be used when validating a customer invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_variant +msgid "" +"This field holds the image used as image for the product variant, limited to " +"1024x1024px." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__commitment_date +msgid "" +"This is the delivery date promised to the customer. If set, the delivery " +"order will be scheduled based on this date rather than product lead times." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__price_extra +msgid "This is the sum of the extra price of all attributes" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#, fuzzy +msgid "" +"This option should respect the same\n" +" configuration as Magento. Pay\n" +" attention to the taxes on the products,\n" +" which should surely include prices when\n" +" this option is activated." +msgstr "" +"L'option doit respecter la même configuration que sur Magento. Attention à " +"bien configurer la taxe des produits qui doit certainement être configurée " +"en taxes incluses si cette option est activée." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "" +"This payment term will be used instead of the default one for purchase " +"orders and vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "" +"This payment term will be used instead of the default one for sales orders " +"and customer invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_production +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated by manufacturing orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_inventory +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated when you do an inventory." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__responsible_id +msgid "" +"This user will be responsible of the next activities related to logistic " +"operations for this product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz +msgid "Timezone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz_offset +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__title +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__title +msgid "Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_to_invoice +msgid "To Invoice Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__token +msgid "Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_total +msgid "Total" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount +msgid "Total Amount differs from Magento" +msgstr "Le montant total diffère de Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__total_invoiced +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__total_invoiced +#, fuzzy +msgid "Total Invoiced" +msgstr "Adresse de facturation par défaut" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit +msgid "Total Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit +msgid "Total Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_tax +msgid "Total Tax" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount_tax +msgid "Total Tax Amount differs from Magento" +msgstr "Le montant total des taxes diffère de Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount +msgid "Total amount" +msgstr "Montant total" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total amount in the currency of the company, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total amount in the currency of the invoice, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__credit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount_tax +msgid "Total amount w. tax" +msgstr "Montant total avec taxes" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__debit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__total_route_ids +#, fuzzy +msgid "Total routes" +msgstr "Montant total" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__service_type +msgid "Track Service" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tracking +msgid "Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_ref +msgid "Tracking Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_url +msgid "Tracking URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__transaction_ids +msgid "Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__type +msgid "Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__type_name +msgid "Type Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_code +msgid "Type of Operation" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_website/importer.py:21 +#, python-format +msgid "Undefined" +msgstr "Indéfini" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_name +msgid "Unit of Measure Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of measurement for Weight" +msgstr "" + +#. module: connector_magento +#: model:product.product,uom_name:connector_magento.product_product_rewards +#: model:product.product,uom_name:connector_magento.product_product_store_credit +#: model:product.template,uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,uom_name:connector_magento.product_product_store_credit_product_template +msgid "Unit(s)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_untaxed +#, fuzzy +msgid "Untaxed Amount" +msgstr "Montant total" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_to_invoice +msgid "Untaxed Amount To Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_signed +msgid "Untaxed Amount in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_invoice_signed +msgid "Untaxed Amount in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_invoiced +msgid "Untaxed Invoiced Amount" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update" +msgstr "Mettre à jour" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update all the products stock quantities" +msgstr "Mettre à jour toutes les quantités en stock" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__updated_at +msgid "Updated At (on Magento)" +msgstr "Mis à jour le (sur Magento)" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__location +msgid "Url to magento application" +msgstr "URL vers l'application Magento" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +#: selection:magento.product.product,manage_stock:0 +msgid "Use Default Config" +msgstr "Utiliser la configuration par défaut" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_auth_basic +msgid "Use HTTP Auth Basic" +msgstr "Utiliser l'authentification HTTP \"basic\"" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_auth_basic +msgid "" +"Use a Basic Access Authentication for the API. The Magento server could be " +"configured to restrict access using a HTTP authentication based on a " +"username and a password." +msgstr "" +"Utiliser une authentification HTTP \"basic\" pour l'API. À utiliser lorsque " +"le serveur Magento restreint l'accès à l'API avec une authentification HTTP " +"basée sur un nom d'utilisateur et un mot de passe." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__type +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__type +msgid "" +"Used by Sales and Purchase Apps to select the relevant address depending on " +"the context." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_custom_attribute_value_ids +msgid "User entered custom product attribute values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__username +msgid "Username" +msgstr "Utilisateur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_ids +#, fuzzy +msgid "Users" +msgstr "Utilisateur" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_archived_variant_ids +msgid "Valid Archived Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_existing_variant_ids +msgid "Valid Existing Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +msgid "Valid Product Attribute Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Valid Product Attribute Lines Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +msgid "Valid Product Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +msgid "Valid Product Attribute Values Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_ids +msgid "Valid Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +msgid "Valid Product Attributes Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Validate" +msgstr "Valider" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__validity_date +msgid "Validity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__validity_date +msgid "" +"Validity date of the quotation, after this date, the customer won't be able " +"to validate the quotation online." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valuation +msgid "Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value +msgid "Value" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_variant +msgid "Variant Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price_extra +msgid "Variant Price Extra" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__variant_seller_ids +msgid "Variant Seller" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Vendor Bill" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_display_name +msgid "Vendor Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_supplier +#, fuzzy +msgid "Vendor Location" +msgstr "Emplacement" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Vendor Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__seller_ids +msgid "Vendors" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__verify_ssl +msgid "Verify SSL certificate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__version +msgid "Version" +msgstr "Version" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__volume +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__volume +msgid "Volume" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__warehouse_id +msgid "Warehouse" +msgstr "Entrepôt" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__warehouse_id +msgid "Warehouse used to compute the stock quantities." +msgstr "Entrepôt utilisé pour calculer les quantités en stock." + +#. module: connector_magento +#: code:addons/connector_magento/models/product/common.py:188 +#, python-format +msgid "" +"We have to import the product before we can provide the admin link to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__password +msgid "Webservice password" +msgstr "Mot de passe du webservice" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__username +msgid "Webservice user" +msgstr "Utilisateur du webservice" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__website_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website +msgid "Website" +msgstr "Site web" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_website +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Websites" +msgstr "Sites web" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight +msgid "Weight" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_id +msgid "Weight Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__shipping_weight +#, fuzzy +msgid "Weight for Shipping" +msgstr "Adresse de livraison par défaut" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__weight +msgid "" +"Weight of the product, packaging not included. The unit of measure can be " +"changed in the general settings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_name +msgid "Weight unit of measure label" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. This is the default " +"value for all products in this category. It can also directly be set on each " +"product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_input +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. When not set on the " +"product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. This is the " +"default value for all products in this category. It can also directly be set " +"on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_output +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. When not set on " +"the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_journal +msgid "" +"When doing real-time inventory valuation, this is the Accounting Journal in " +"which entries will be automatically posted when stock moves are processed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "" +"When real-time inventory valuation is enabled on a product, this account " +"will hold the current value of the products." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__is_locked +msgid "" +"When the picking is not done this allows changing the initial demand. When " +"the picking is done this allows changing the done quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_id +msgid "You can find a contact by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "You can find a customer by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__zip +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__zip +msgid "Zip" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "choose" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__import_orders_from_date +msgid "" +"do not consider non-imported sale orders before this date. Leave empty to " +"import all sale orders" +msgstr "" +"Ignore les commandes non importées avant cette date. Laisser vide pour " +"importer toutes les commandes." + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com" +msgstr "Ex. http://mon.magento.com" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com/admin" +msgstr "Ex.: http://my.magento.com/admin" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +#, fuzzy +msgid "get" +msgstr "Magento" + +#. module: connector_magento +#: model:product.product,weight_uom_name:connector_magento.product_product_rewards +#: model:product.product,weight_uom_name:connector_magento.product_product_store_credit +#: model:product.template,weight_uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,weight_uom_name:connector_magento.product_product_store_credit_product_template +msgid "kg" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "mag-" +msgstr "mag-" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner_category +#, fuzzy +msgid "magento.res.partner.category" +msgstr "Catégorie parente dans Magento" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__amount_by_group +msgid "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__warehouse_id +#, fuzzy +msgid "warehouse" +msgstr "Entrepôt" + +#, fuzzy +#~ msgid "# of Invoices" +#~ msgstr "Facture" + +#, fuzzy +#~ msgid "# of Sales Order" +#~ msgstr "Bon de commande" + +#, fuzzy +#~ msgid "Can Edit Delivered" +#~ msgstr "Bon de livraison Magento" + +#, fuzzy +#~ msgid "Invoiced" +#~ msgstr "Facture" + +#, fuzzy +#~ msgid "Magento backend id" +#~ msgstr "Backend Magento" + +#, fuzzy +#~ msgid "Magento binding model" +#~ msgstr "Liens Magento" + +#, fuzzy +#~ msgid "Payments widget" +#~ msgstr "Méthode de paiement" + +#, fuzzy +#~ msgid "Picking Type" +#~ msgstr "Méthode de livraison" + +#, fuzzy +#~ msgid "Procurement Location" +#~ msgstr "Emplacement de l'interface Admin" + +#, fuzzy +#~ msgid "Sale Pricelist" +#~ msgstr "Préfixe de vente" + +#, fuzzy +#~ msgid "Section" +#~ msgstr "Description" + +#, fuzzy +#~ msgid "Stock move ids" +#~ msgstr "Champ de stock" + +#, fuzzy +#~ msgid "Stock quant ids" +#~ msgstr "Champ de stock" + +#, fuzzy +#~ msgid "To Invoice" +#~ msgstr "Facture" + +#~ msgid "Connector Configuration" +#~ msgstr "Configuration du connecteur" + +#~ msgid "Export Partners to Magento (experimental)" +#~ msgstr "" +#~ "Exporter les clients vers Magento (expérimental, ne pas utiliser en " +#~ "production)" + +#~ msgid "Extensions" +#~ msgstr "Extensions" + +#~ msgid "Magentoerpconnect" +#~ msgstr "Magentoerpconnect" + +#~ msgid "Picking List" +#~ msgstr "Liste de colisage" + +#~ msgid "Prices are managed in OpenERP with pricelists" +#~ msgstr "Les prix de vente sont gérés dans OpenERP avec des listes de prix" + +#~ msgid "" +#~ "Prices are set in OpenERP and exported to Magento.\n" +#~ "\n" +#~ "This installs the module connector_magento_pricing." +#~ msgstr "" +#~ "Les prix sont définis dans OpenERP et exportés vers Magento.\n" +#~ "\n" +#~ "Installe le module connector_magento_pricing." + +#~ msgid "This installs the module connector_magento_export_partner." +#~ msgstr "Installe le module connector_magento_export_partner." diff --git a/connector_magento/i18n/it.po b/connector_magento/i18n/it.po new file mode 100644 index 000000000..51fa992aa --- /dev/null +++ b/connector_magento/i18n/it.po @@ -0,0 +1,5439 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * connector_magento +# +# Translators: +# FIRST AUTHOR , 2014 +# Giacomo , 2015 +msgid "" +msgstr "" +"Project-Id-Version: connector-magento (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-07-22 09:38+0000\n" +"PO-Revision-Date: 2015-08-02 23:46+0000\n" +"Last-Translator: Giacomo \n" +"Language-Team: Italian (http://www.transifex.com/oca/OCA-connector-" +"magento-8-0/language/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__state +msgid "" +" * Draft: not confirmed yet and will not be scheduled until confirmed.\n" +" * Waiting Another Operation: waiting for another move to proceed before it " +"becomes automatically available (e.g. in Make-To-Order flows).\n" +" * Waiting: if it is not ready to be sent because the required products " +"could not be reserved.\n" +" * Ready: products are reserved and ready to be sent. If the shipping policy " +"is 'As soon as possible' this happens as soon as anything is reserved.\n" +" * Done: has been processed, can't be modified or cancelled anymore.\n" +" * Cancelled: has been cancelled, can't be confirmed anymore." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__state +msgid "" +" * The 'Draft' status is used when a user is encoding a new and unconfirmed " +"Invoice.\n" +" * The 'Open' status is used when user creates invoice, an invoice number is " +"generated. It stays in the open status till the user pays the invoice.\n" +" * The 'In Payment' status is used when payments have been registered for " +"the entirety of the invoice in a journal configured to post entries at bank " +"reconciliation only, and some of them haven't been reconciled with a bank " +"statement line yet.\n" +" * The 'Paid' status is set automatically when the invoice is paid. Its " +"related journal entries may or may not be reconciled.\n" +" * The 'Cancelled' status is used when user cancel invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_count +msgid "# Product Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__product_count +#, fuzzy +msgid "# Products" +msgstr "Prodotto" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__magento_order_id +msgid "'order_id' field in Magento" +msgstr "il campo 'order_id' in Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "(recompute)" +msgstr "(ricalcola)" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +msgid "A Magento binding for this invoice already exists." +msgstr "Un collegamento a Magento per questa fattura esiste già" + +#. module: connector_magento +#: sql_constraint:magento.backend:0 +msgid "A backend with the same sale prefix already exists" +msgstr "Un backend con lo stesso prefisso di vendita esiste già" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 sql_constraint:magento.address:0 +#: sql_constraint:magento.binding:0 sql_constraint:magento.product.category:0 +#: sql_constraint:magento.product.product:0 +#: sql_constraint:magento.res.partner:0 +#: sql_constraint:magento.res.partner.category:0 +#: sql_constraint:magento.sale.order:0 sql_constraint:magento.sale.order.line:0 +#: sql_constraint:magento.stock.picking:0 sql_constraint:magento.store:0 +#: sql_constraint:magento.storeview:0 sql_constraint:magento.website:0 +msgid "A binding already exists with the same Magento ID." +msgstr "Un collegamento con lo stesso ID Magento esiste già" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__description_sale +msgid "" +"A description of the Product that you want to communicate to your customers. " +"This description will be copied to every Sales Order, Delivery Order and " +"Customer Invoice/Credit Note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "" +"A parent sales order has been canceled on the backend and needs to be " +"canceled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_id +#, fuzzy +msgid "A parent sales order is a sales order replaced by this one." +msgstr "L'ordine di vendita di Magento è già in stato %s" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order needs cancel" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.address:0 +msgid "A partner address can only have one binding by backend." +msgstr "" +"Un indirizzo di un partner può avere solo un collegamento per ogni backend." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__sale_prefix +#, fuzzy +msgid "" +"A prefix put before the name of imported sales orders.\n" +"For instance, if the prefix is 'mag-', the sales order 100000692 in Magento, " +"will be named 'mag-100000692' in Odoo." +msgstr "" +"Un prefisso messo prima del nome degli ordini di vendita importati.\n" +"Per esempio, se il prefisso è 'mag-', l'ordine di vendita con numero " +"100000692 su Magento, verrà chiamato 'mag-100000692' in OpenERP." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "API" +msgstr "API" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_warning +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_warning +msgid "Access warning" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "" +"According to product configuration, the delivered quantity can be " +"automatically computed by mechanism :\n" +" - Manual: the quantity is set manually on the line\n" +" - Analytic From expenses: the quantity is the quantity sum from posted " +"expenses\n" +" - Timesheet: the quantity is the sum of hours recorded on tasks linked to " +"this sale line\n" +" - Stock Moves: the quantity comes from confirmed pickings\n" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__account_id +msgid "Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date +msgid "Accounting Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__bank_account_required +msgid "" +"Activate this option if this payment method requires you to know the bank " +"account number of your customer or supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__active +msgid "Active" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_ids +msgid "Activities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_state +msgid "Activity State" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__comment +#, fuzzy +msgid "Additional Information" +msgstr "Informazioni" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__additional_info +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__additional_info +msgid "Additional info" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__type +msgid "Address Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_magento_order_address +msgid "Address from a Magento Order" +msgstr "Indirizzo da un ordine di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__admin_location +msgid "Admin Location" +msgstr "Locazione della sezione admin" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Advanced Configuration" +msgstr "Configurazione avanzata" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__all_qty_delivered +msgid "All quantities delivered" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__lang +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this " +"language." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:76 +#, python-format +msgid "Already exported" +msgstr "Già esportato" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/importer.py:374 +#, python-format +msgid "Already imported" +msgstr "Già importato" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:200 +#, python-format +msgid "Already up-to-date." +msgstr "Già aggiornato" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_undiscounted +msgid "Amount Before Discount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual +msgid "Amount Due" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Amount Due in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_signed +msgid "Amount Due in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__consider_as_company +msgid "" +"An account imported with a 'company' in the billing address is considered as " +"a company.\n" +" The partner takes the name of the company and is not merged with the " +"billing address." +msgstr "" +"Un accont importato con una 'azienda' nell'indirizzo di fatturazione viene " +"considerata come un'azienda.\n" +"Il partner prende il nome dell'azienda e non viene unito all'indirizzo di " +"fatturazione." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__account_analytic_id +msgid "Analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_line_ids +msgid "Analytic lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__token +msgid "" +"Authentication token for Magento 2.0+. See https://devdocs. magento.com/" +"guides/v2.3/get-started/authentication/gs-authentication-token.html" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__authorized_transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__authorized_transaction_ids +msgid "Authorized Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Auto-complete from a past bill." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__workflow_process_id +msgid "Automatic Workflow" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__available_carrier_ids +msgid "Available Carriers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_id +#, fuzzy +msgid "Back Order of" +msgstr "Ordine di vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_ids +msgid "Back Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_backend +msgid "Backends" +msgstr "Backends" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_account_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_account_count +msgid "Bank" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "" +"Bank Account Number to which the invoice will be paid. A Company bank " +"account if this is a Customer Invoice or Vendor Credit Note, otherwise a " +"Partner bank account number." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Bank Account Required" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_ids +msgid "Banks" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__barcode +msgid "Barcode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__base_media_url +msgid "Base Media Url" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__base_media_url +msgid "" +"Base URL to retrieve product images. Used for Magento2 only. For example: " +"http://magento/media" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic Auth. Password" +msgstr "Password per l'autenticazione basic" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic Auth. Username" +msgstr "Username per l'autenticazione basic" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic access authentication web server side password" +msgstr "La password lato web server per l'autenticazione basic" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic access authentication web server side username" +msgstr "Lo username lato web server per l'autenticazione basic" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image +msgid "Big-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__birthday +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_users__birthday +msgid "Birthday" +msgstr "Data di nascita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_bounce +msgid "Bounce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_bulk +msgid "Bulk Weight" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#, fuzzy +msgid "" +"By clicking on the buttons,\n" +" you will initiate the synchronizations\n" +" with Magento.\n" +" Note that the import or exports\n" +" won't be done directly,\n" +" they will create 'Jobs'\n" +" executed as soon as possible." +msgstr "" +"Cliccando sul bottone\n" +"verrà iniziata la sincronizzazione\n" +"con Magento.\n" +"Nota che l'import o l'export\n" +"non saranno fatti direttamente\n" +"ma verranno messi nella coda dei Job\n" +"ed eseguiti appena possibile." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_updatable +msgid "Can Edit Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__purchase_ok +msgid "Can be Purchased" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__rental +msgid "Can be Rent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_ok +msgid "Can be Sold" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Cancel" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:113 +#, python-format +msgid "Cancel sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__canceled_in_backend +msgid "Canceled in backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:71 +#, python-format +msgid "" +"Canceled: the delivery order does not contain lines from the original sale " +"order." +msgstr "" +"Annullato: l'ordine di consegna non contiene linee dell'ordine di vendita " +"originale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__cancellation_resolved +msgid "Cancellation from the backend resolved" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_id +msgid "Carrier" +msgstr "Trasportatore" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Cash Rounding Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_from_categ_ids +msgid "Category Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__channel_ids +msgid "Channels" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "" +"Check if the storeview is active in Magento but its sales orders should not " +"be imported." +msgstr "" +"Seleziona se la storeview è attiva in Magento ma i suoi ordini di vendita " +"non devono essere importati." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__has_packages +msgid "Check the existence of destination packages on move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Check the existence of pack operation on the picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer +msgid "" +"Check this box if this contact is a customer. It can be selected in sales " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier +msgid "" +"Check this box if this contact is a vendor. It can be selected in purchase " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__employee +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__no_stock_sync +msgid "Check this to exclude the product from stock synchronizations." +msgstr "" +"Verifica se questo esclude il prodotto dalle sincronizzazioni di magazzino" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_backend/common.py:246 +#, python-format +msgid "" +"Check your configuration, we can't get the data. Here is the error:\n" +"%s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__child_id +#, fuzzy +msgid "Child Categories" +msgstr "Categorie figlie di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__child_ids +msgid "Child Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__product_stock_field_id +msgid "" +"Choose the field of the product which will be used for stock inventory " +"updates.\n" +"If empty, Quantity Available is used." +msgstr "" +"Seleziona il campo del prodotto che verrà usato per gli aggiornamenti di " +"inventario di stock.\n" +"Se vuoto, verrà usato il campo 'Quantità disponibile'" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__city +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__city +msgid "City" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Close" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__code +msgid "Code" +msgstr "Codice" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__color +msgid "Color Index" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__commitment_date +msgid "Commitment Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref_company_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__company_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Company" +msgstr "Azienda" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_currency_id +#, fuzzy +msgid "Company Currency" +msgstr "Azienda" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_name +#, fuzzy +msgid "Company Name" +msgstr "Azienda" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_company_name +#, fuzzy +msgid "Company Name Entity" +msgstr "Calcola la quantità" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_type +#, fuzzy +msgid "Company Type" +msgstr "Azienda" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_gid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_users__company +msgid "Company name (in Magento)" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Complete" +msgstr "Completa" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contact_address +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contact_address +#, fuzzy +msgid "Complete Address" +msgstr "Completa" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__complete_name +msgid "Complete Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__effective_date +msgid "Completion date of the first delivery order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_qty +msgid "Computed Quantity" +msgstr "Calcola la quantità" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__confirmation_date +#, fuzzy +msgid "Confirmation Date" +msgstr "Configurazione principale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__consider_as_company +msgid "Considered as company" +msgstr "Considerata come un'azienda" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner +msgid "Contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__child_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__child_ids +msgid "Contacts" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contracts_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__standard_price +msgid "Cost" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_currency_id +msgid "Cost Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_method +msgid "Cost Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__standard_price +msgid "" +"Cost used for stock valuation in standard price and as a first price to set " +"in average/fifo. Also used as a base price for pricelists. Expressed in the " +"default unit of measure of the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_cost_method +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_cost_method +#, fuzzy +msgid "Costing Method" +msgstr "Metodo di picking" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__country_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__country_id +msgid "Country" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +msgid "Create invoice on" +msgstr "Crea fattura per" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_payment_mode__create_invoice_on +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_invoice_on +msgid "Create invoice on action" +msgstr "Crea la fattura dopo l'azione" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__created_at +msgid "Created At (on Magento)" +msgstr "Creato il (su Magento)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date +#, fuzzy +msgid "Creation Date" +msgstr "Creato il" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date +msgid "Creation Date, usually the time of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__currency_id +msgid "Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__qty_available +msgid "" +"Current quantity of products.\n" +"In a context with a single Stock Location, this includes goods stored at " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"stored in the Stock Location of the Warehouse of this Shop, or any of its " +"children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_custom_api_path +msgid "Custom Api Path" +msgstr "Percorso del API personalizzato" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_partner_id +#, fuzzy +msgid "Customer" +msgstr "Cliente ospite" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_delay +msgid "Customer Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_customer +#, fuzzy +msgid "Customer Location" +msgstr "Locazione della sezione admin" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer_payment_mode_id +#, fuzzy +msgid "Customer Payment Mode" +msgstr "Metodo di pagamento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__partner_ref +#, fuzzy +msgid "Customer Ref" +msgstr "Cliente ospite" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__client_order_ref +msgid "Customer Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__taxes_id +msgid "Customer Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__date +msgid "Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date_done +msgid "Date at which the transfer has been processed or cancelled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date_done +msgid "Date of Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__confirmation_date +msgid "Date on which the sales order is confirmed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_billing +msgid "Default Invoice" +msgstr "Fattura di default" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_lang_id +msgid "Default Language" +msgstr "Lingua di default" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__owner_id +#, fuzzy +msgid "Default Owner" +msgstr "Fattura di default" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_category_id +msgid "Default Product Category" +msgstr "Categoria di prodotto di default" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_shipping +msgid "Default Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Default taxes used when buying the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__taxes_id +msgid "Default taxes used when selling the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_id +msgid "Default unit of measure used for all stock operations." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_po_id +msgid "" +"Default unit of measure used for purchase orders. It must be in the same " +"category as the default unit of measure." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__seller_ids +msgid "Define vendor pricelists." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "" +"Defines the smallest coinage of the currency that can be used to pay by cash." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__trust +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_manual +msgid "Delivered Manually" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered +msgid "Delivered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_shipping_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Delivery Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_message +msgid "Delivery Message" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_count +#, fuzzy +msgid "Delivery Orders" +msgstr "Ordine di consegna di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_rating_success +msgid "Delivery Rating Success" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__expected_date +msgid "" +"Delivery date you can promise to the customer, computed from product lead " +"times and from the shipping policy of the order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_delay +msgid "" +"Delivery lead time, in days. It's the number of days, promised to the " +"customer, between the confirmation of the sales order and the delivery." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__route_ids +msgid "" +"Depending on the modules installed, this will allow you to define the route " +"of the product: whether it will be bought, manufactured, MTO, etc." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__name +msgid "Description" +msgstr "Descrizione" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingout +msgid "Description on Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_picking +#, fuzzy +msgid "Description on Picking" +msgstr "Descrizione" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingin +msgid "Description on Receptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_dest_id +msgid "Destination Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__display_name +msgid "Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_type +msgid "Display Type" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Do Not Manage Stock" +msgstr "Non gestire il magazzino" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "" +"Does the invoice export/creation should send an email notification on " +"Magento side?" +msgstr "" +"Si vuole che l'esportazione/creazione di fatture invii un email di notifica " +"da Magento?" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_picking_done_mail +msgid "" +"Does the picking export/creation should send an email notification on " +"Magento side?" +msgstr "" +"L'esportazione/creazione di un picking dovrebbe inviare una email di " +"notifica lato Magento?" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "" +"Down payments are made when creating invoices from a sales order. They are " +"not copied when duplicating a sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_due +msgid "Due Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__emailid +msgid "E-mail address" +msgstr "Indirizzo email" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__effective_date +msgid "Effective Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email +msgid "Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__employee +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__employee +msgid "Employee" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__enabled +msgid "Enabled" +msgstr "Attiva" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tracking +msgid "Ensure the traceability of a storable product in your warehouse." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_price +#, fuzzy +msgid "Estimated Delivery Price" +msgstr "Ordine di consegna di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exception_ids +#, fuzzy +msgid "Exceptions" +msgstr "Opzioni" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exceptions_summary +msgid "Exceptions Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_expense_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Expense Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__expense_policy +msgid "" +"Expenses and vendor bills can be re-invoiced to a customer.With this option, " +"a validated expense can be re-invoice to a customer at its cost or sales " +"price." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_export_tracking +msgid "Export tracking numbers" +msgstr "Esporta i numeri di tracciamento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_ids +msgid "Extra categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__data +msgid "File" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__name +#, fuzzy +msgid "File Name" +msgstr "Nome" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__carrier_id +msgid "Fill this field if you plan to invoice the shipping based on picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__fiscal_position_id +msgid "Fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Force Removal Strategy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__virtual_available +#, fuzzy +msgid "Forecast Quantity" +msgstr "Calcola la quantità" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__virtual_available +msgid "" +"Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n" +"In a context with a single Stock Location, this includes goods stored in " +"this location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Get" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__packaging_ids +msgid "Gives the different ways to package the same product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sequence +msgid "Gives the sequence order when displaying a product list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__guest_customer +msgid "Guest Customer" +msgstr "Cliente ospite" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hs_code +#, fuzzy +msgid "HS Code" +msgstr "Codice" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "HTTP Authentication" +msgstr "Autenticazione HTTP" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__has_checkpoint +msgid "Has Checkpoint" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__has_outstanding +msgid "Has Outstanding" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Has Pack Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_packages +msgid "Has Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_scrap_move +msgid "Has Scrap Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_tracking +msgid "Has Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__need_cancel +msgid "Has been canceled on the backend, need to be canceled." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Here is the file with information read drom the backend:" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hide_expense_policy +msgid "Hide Expense Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__id +msgid "ID" +msgstr "ID" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__external_id +msgid "ID on Magento" +msgstr "ID su Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__im_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__im_status +msgid "IM Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_category_id +msgid "" +"If a default category is selected, products imported without a category will " +"be linked to it." +msgstr "" +"Se si sceglie una categoria di default, i prodotti importati senza categoria " +"verranno assegnati alla categoria scelta" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_lang_id +msgid "" +"If a default language is selected, the records will be imported in the " +"translation of this language.\n" +"Note that a similar configuration exists for each storeview." +msgstr "" +"Se una lingua di default viene selezionata, i record verranno importati " +"nella traduzione di quella lingua.\n" +"Nota una configurazione simile esiste per ogni storeview." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__team_id +msgid "" +"If set, this Sales Team will be used for sales and assignations related to " +"this partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "" +"If specified, this fiscal position will be used to fill the field fiscal " +"position on the sale order created by the connector.The value can also be " +"specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_warehouse_id +msgid "" +"If specified, this warehouse will be used to load fill the field warehouse " +"(and company) on the sale order created by the connector.The value can also " +"be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_website__is_multi_company +msgid "" +"If this flag is set, it is possible to choose warehouse at each level. When " +"import partner, ignore company_id if this flag is set." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__backorder_id +msgid "" +"If this shipment was split, then this field links to the shipment which " +"contains the already processed part." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "If ticked, you will be able to select entire packages to move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__active +msgid "" +"If unchecked, it will allow you to hide the product without removing it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__picking_policy +msgid "" +"If you deliver all products at once, the delivery order will be scheduled " +"based on the greatest product lead time. Otherwise, it will be based on the " +"shortest." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__payment_term_id +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. If you keep the payment terms and the due " +"date empty, it means direct payment. The payment terms may compute several " +"due dates, for example 50% now, 50% in one month." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_due +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. The Payment terms may compute several due " +"dates, for example 50% now and 50% in one month, but if you want to force a " +"due date, make sure that the payment term is not set on the invoice. If you " +"keep the Payment terms and the due date empty, it means direct payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__ignore_exception +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__ignore_exception +#, fuzzy +msgid "Ignore Exceptions" +msgstr "Opzioni di inventario" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image +msgid "Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__product_image +msgid "" +"Image of the product variant (Big-sized image of product template if false). " +"It is automatically resized as a 1024x1024px image, with aspect ratio " +"preserved." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_medium +msgid "" +"Image of the product variant (Medium-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_small +msgid "" +"Image of the product variant (Small-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__immediate_transfer +msgid "Immediate Transfer" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders" +msgstr "Importa gli ordini di vendita" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders since" +msgstr "Importa gli ordini di vendita dal" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import all customer groups" +msgstr "Importato tutti i gruppi di clienti" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_categories_from_date +msgid "Import categories from date" +msgstr "Importa le categorie dalla data" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import in background" +msgstr "Importa in background" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import partners from all websites" +msgstr "Importa i partner da tutti i websites" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__import_partners_from_date +msgid "Import partners from date" +msgstr "Importa i partner dalla data" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import partners since" +msgstr "Importa i partner dal" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products categories since" +msgstr "Importa le categorie prodotto dal" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_products_from_date +msgid "Import products from date" +msgstr "Importa i prodotti dalla data" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products since" +msgstr "Importa i prodotti dal" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__import_orders_from_date +msgid "Import sale orders from date" +msgstr "Importa gli ordini di vendita dalla data" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import sales orders from all store views" +msgstr "Importa ordini di vendita da tutte le viste negozio." + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Imports" +msgstr "Importa" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_internal_id +msgid "" +"In Magento2, we have to keep track of both the external_id (the product SKU) " +"which is used in the Magento2 REST API, as well as the Magento internal id " +"as used in the admin URL." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_income_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_income_id +msgid "Income Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__incoming_qty +msgid "Incoming" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterm_id +msgid "Incoterm" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterms_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__incoterm +msgid "Incoterms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterms_id +msgid "" +"Incoterms are series of sales terms. They are used to divide transaction " +"costs and responsibilities between buyer and seller and reflect state-of-the-" +"art transportation practices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__industry_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__industry_id +msgid "Industry" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Informations" +msgstr "Informazioni" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__default_code +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref +msgid "Internal Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__barcode +msgid "International Article Number used for product identification." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterm_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__incoterm +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_inventory +#, fuzzy +msgid "Inventory Location" +msgstr "Opzioni di inventario" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "Inventory Options" +msgstr "Opzioni di inventario" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_valuation +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_valuation +#, fuzzy +msgid "Inventory Valuation" +msgstr "Opzioni di inventario" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_invoice +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn +msgid "Invoice" +msgstr "Fattura" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_invoice_id +#, fuzzy +msgid "Invoice Address" +msgstr "Fattura creata" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_count +msgid "Invoice Count" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/account_invoice/exporter.py:25 +#, python-format +msgid "Invoice Created" +msgstr "Fattura creata" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_invoice +#, fuzzy +msgid "Invoice Date" +msgstr "Fattura creata" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_icon +msgid "Invoice Icon" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_line_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_lines +#, fuzzy +msgid "Invoice Lines" +msgstr "Fattura" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_shipping_on_delivery +msgid "Invoice Shipping on Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_status +#, fuzzy +msgid "Invoice Status" +msgstr "Fattura creata" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_id +msgid "Invoice for which this invoice is the credit note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_invoiced +msgid "Invoiced Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_ids +#, fuzzy +msgid "Invoices" +msgstr "Fattura" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__invoice_policy +msgid "Invoicing Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__is_multi_company +msgid "Is Backend Multi-Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__is_locked +msgid "Is Locked" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__is_product_variant +msgid "Is Product Variant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_company +#, fuzzy +msgid "Is a Company" +msgstr "Azienda" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer +#, fuzzy +msgid "Is a Customer" +msgstr "Cliente ospite" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_delivery +msgid "Is a Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Is a down payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is expense" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__is_expired +msgid "Is expired" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is true if the sales order line comes from an expense or a vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reconciled +msgid "" +"It indicates that the invoice has been paid and the journal entry of the " +"invoice has been reconciled with one or several journal entries of payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__sent +msgid "It indicates that the invoice has been sent." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_type +msgid "It specifies goods to be deliver partially or all at once" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__function +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__function +msgid "Job Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_id +msgid "Journal Entry" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_name +msgid "Journal Entry Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__journal_item_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_invoice +msgid "Keep empty to use the current date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date +msgid "Keep empty to use the invoice date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_income_id +msgid "" +"Keep this field empty to use the default value from the product category." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_expense_id +msgid "" +"Keep this field empty to use the default value from the product category. If " +"anglo-saxon accounting with automated valuation method is configured, the " +"expense account on the product category will be used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__lang_id +msgid "Language" +msgstr "Lingua" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_address____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_store____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_website____last_update +#, fuzzy +msgid "Last Modified on" +msgstr "Ultimo aggiornamento il" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento da" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_qty +msgid "Last computed quantity to send on Magento." +msgstr "L'ultima quantità calcolata da inviare a Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sync_date +msgid "Last synchronization date" +msgstr "Data ultima sincronizzazione" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "" +"Last time the invoices & payments matching was performed for this partner. " +"It is set either if there's not at least an unreconciled debit and an " +"unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_id +msgid "Link to the automatically generated Journal Items." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__location +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__location_id +msgid "Location" +msgstr "Locazione" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_root +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_delivery_carrier_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_category_form +msgid "Magento" +msgstr "Magento" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_categories_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_categories +#: model:ir.cron,name:connector_magento.ir_cron_import_product_categories +msgid "Magento - Import Product Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_product_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_product +#: model:ir.cron,name:connector_magento.ir_cron_import_product_product +msgid "Magento - Import Products" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_update_product_stock_qty_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_update_product_stock_qty +#: model:ir.cron,name:connector_magento.ir_cron_update_product_stock_qty +msgid "Magento - Update Stock Quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_customer_groups_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_customer_groups +#: model:ir.cron,name:connector_magento.ir_cron_import_customer_groups +msgid "Magento - Import Customer Groups" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_partners_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_partners +#: model:ir.cron,name:connector_magento.ir_cron_import_partners +msgid "Magento - Import Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_sale_orders_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_sale_orders +#: model:ir.cron,name:connector_magento.ir_cron_import_sale_orders +msgid "Magento - Import Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_address +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_tree +msgid "Magento Address" +msgstr "Indirizzo di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_address_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Magento Address Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_backend +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__backend_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_tree +msgid "Magento Backend" +msgstr "Il backend Magento" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_backend +msgid "Magento Backends" +msgstr "I backend Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_carrier_code +#, fuzzy +msgid "Magento Base Carrier Code" +msgstr "Codice del trasportatore di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding +msgid "Magento Binding (abstract)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_binding_model +msgid "Magento Binding Model" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_stock_picking__magento_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:connector_magento.view_invoice_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_sale_order_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_stock_picking_out_magento_form +msgid "Magento Bindings" +msgstr "Collegamenti di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_code +msgid "Magento Carrier Code" +msgstr "Codice del trasportatore di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_child_ids +msgid "Magento Child Categories" +msgstr "Categorie figlie di Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Magento Configuration" +msgstr "Configurazione di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_config_specializer +msgid "Magento Configuration Specializer Mixin" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_stock_picking +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_tree +msgid "Magento Delivery Order" +msgstr "Ordine di consegna di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding_backend_read +msgid "Magento Generic Object Reader Wizard" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__group_id +msgid "Magento Group (Category)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_id +#, fuzzy +msgid "Magento Id" +msgstr "Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_internal_id +msgid "Magento Internal" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_account_invoice +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_tree +msgid "Magento Invoice" +msgstr "Fattura di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_id +msgid "Magento Order ID" +msgstr "ID dell'ordine di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_line_ids +msgid "Magento Order Lines" +msgstr "Linee dell'ordine di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_parent_id +msgid "Magento Parent Category" +msgstr "Categoria padre di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_partner_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_tree +msgid "Magento Partner" +msgstr "Partner di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_product +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_tree +msgid "Magento Product" +msgstr "Prodotto di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_category +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_tree +msgid "Magento Product Category" +msgstr "Categoria prodotto di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_type +msgid "Magento Product Type" +msgstr "Tipo di prodotto di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_binding_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__product_binding_ids +msgid "Magento Products" +msgstr "Prodotti di Magento" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_rewards +#: model:product.template,name:connector_magento.product_product_rewards_product_template +#, fuzzy +msgid "Magento Rewards" +msgstr "I backend Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_order_id +msgid "Magento Sale Order" +msgstr "Ordine di vendita di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order_line +msgid "Magento Sale Order Line" +msgstr "Linea dell'ordine di Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_tree +#, fuzzy +msgid "Magento Sales Orders" +msgstr "Ordine di vendita di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_tree +msgid "Magento Store" +msgstr "Negozio di Magento" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_store_credit +#: model:product.template,name:connector_magento.product_product_store_credit_product_template +#, fuzzy +msgid "Magento Store Credit" +msgstr "Negozio di Magento" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_store +msgid "Magento Stores" +msgstr "Negozi di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_storeview +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__storeview_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_tree +msgid "Magento Storeview" +msgstr "Storeview di Magento" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_storeview +msgid "Magento Storeviews" +msgstr "Le storeview di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_tracking_title +msgid "Magento Tracking Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__taxvat +msgid "Magento VAT" +msgstr "Iva di Magento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_website +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__website_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_tree +msgid "Magento Website" +msgstr "Sito web di Magento" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_website +msgid "Magento Websites" +msgstr "Siti web di Magento" + +#. module: connector_magento +#: model:res.partner.category,name:connector_magento.category_no_account +msgid "Magento guest users" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:58 +#, python-format +msgid "Magento sales order is already in state %s" +msgstr "L'ordine di vendita di Magento è già in stato %s" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Main Configuration" +msgstr "Configurazione principale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__main_exception_id +msgid "Main Exception" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backorders +msgid "Manage Inventory Backorders" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Manage Stock" +msgstr "Gestisci lo stock" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__manage_stock +msgid "Manage Stock Level" +msgstr "Gestisci il livello dello stock" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__service_type +msgid "" +"Manually set quantities on order: Invoice based on the manually entered " +"quantity, without creating an analytic account.\n" +"Timesheets on contract: Invoice based on the tracked hours on the related " +"timesheet.\n" +"Create a task and track hours: Create a task on the sales order validation " +"and track the work hours." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_medium +msgid "" +"Medium-sized image of this contact. It is automatically resized as a " +"128x128px image, with aspect ratio preserved. Use this field in form views " +"or some kanban views." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn_msg +#, fuzzy +msgid "Message for Invoice" +msgstr "Fattura di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn_msg +#, fuzzy +msgid "Message for Sales Order" +msgstr "Ordine di vendita di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn_msg +#, fuzzy +msgid "Message for Sales Order Line" +msgstr "Linea dell'ordine di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn_msg +msgid "Message for Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_ids +msgid "Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "Method to update delivered qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__orderpoint_ids +msgid "Minimum Stock Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__mobile +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__mobile +msgid "Mobile" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "Move Entire Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__name +msgid "Name" +msgstr "Nome" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signed_by +msgid "Name of the person that signed the SO." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__need_cancel +msgid "Need to be canceled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__newsletter +msgid "Newsletter" +msgstr "Newsletter" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next +msgid "Next Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next_prefix +msgid "Next Number Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "No Sales Order Synchronization" +msgstr "Nessuna sincronizzazione degli ordini di vendita" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "No Sell" +msgstr "Nessuna vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__no_stock_sync +msgid "No Stock Synchronization" +msgstr "Nessuna sincronizzazione dello stock" + +#. module: connector_magento +#: code:addons/connector_magento/models/queue_job/common.py:26 +#, python-format +msgid "" +"No admin URL configured on the backend or no admin path is defined for this " +"record." +msgstr "" +"Nessun URL di admin è configurato sul backend o nessun path di admin è " +"definito su questo record." + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:79 +#, python-format +msgid "No tracking number to send." +msgstr "Nessun numero di tracciamento da inviare." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__notes +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__note +msgid "Notes" +msgstr "Note" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:364 +#: code:addons/connector_magento/components/exporter.py:369 +#, python-format +msgid "Nothing to export." +msgstr "Niente da esportare" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__number +msgid "Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__customer_lead +msgid "" +"Number of days between the order confirmation and the shipping of the " +"products to the customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__odoo_id +msgid "Odoo Product" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#, fuzzy +msgid "" +"Once imported,\n" +" some types of records,\n" +" like the products or categories,\n" +" need a manual review.\n" +" You will find the list\n" +" of the new records to review\n" +" in the menu 'Connectors > Checkpoint'." +msgstr "" +"Una volta importati,\n" +"alcuni tipi di record,\n" +"come i prodotti o le categorie\n" +"necessitano di una revisione manuale.\n" +"Troverai la lista\n" +"nella sezione 'Nuovi record da revisionare'\n" +"nel menu 'Connettori > Punto di controllo'" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_payment +msgid "Online Payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_signature +msgid "Online Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__verify_ssl +msgid "Only for Magento 2.0+" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_id +msgid "Operation Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids +msgid "Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids_without_package +msgid "Operations without package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_option_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sale_order_option_ids +msgid "Optional Products Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Options" +msgstr "Opzioni" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__date_order +msgid "Order Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__order_line +#, fuzzy +msgid "Order Lines" +msgstr "Linea dell'ordine di vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_id +msgid "Order Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__state +msgid "Order Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom_qty +msgid "Ordered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__invoice_policy +msgid "" +"Ordered Quantity: Invoice quantities ordered by the customer.\n" +"Delivered Quantity: Invoice quantities delivered to the customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__outgoing_qty +msgid "Outgoing" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__outstanding_credits_debits_widget +msgid "Outstanding Credits Debits Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__owner_id +msgid "Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_packaging +msgid "Package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids +msgid "Package Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids_details +msgid "Package Level Ids Details" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_ids +msgid "Packages" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Paid" +msgstr "Pagato" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reconciled +msgid "Paid/Reconciled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_id +#, fuzzy +msgid "Parent Category" +msgstr "Categoria del partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_parent_id +msgid "Parent Magento Order" +msgstr "Ordine padre di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_id +#, fuzzy +msgid "Parent Order" +msgstr "Ordine padre di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_path +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_path +msgid "Parent Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_name +msgid "Parent name" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Partial" +msgstr "Parziale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__partner_id +msgid "Partner" +msgstr "Partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__odoo_id +msgid "Partner Category" +msgstr "Categoria del partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contract_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__partner_ids +#, fuzzy +msgid "Partners" +msgstr "Partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__password +msgid "Password" +msgstr "Password" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_mode_id +#, fuzzy +msgid "Payment Mode" +msgstr "Metodo di pagamento" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_payment_mode +#, fuzzy +msgid "Payment Modes" +msgstr "Metodo di pagamento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_move_line_ids +#, fuzzy +msgid "Payment Move Lines" +msgstr "Linee dell'ordine di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reference +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__reference +msgid "Payment Ref." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_term_id +#, fuzzy +msgid "Payment Terms" +msgstr "Metodo di pagamento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_ids +#, fuzzy +msgid "Payment Tokens" +msgstr "Metodo di pagamento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_ids +#, fuzzy +msgid "Payments" +msgstr "Metodo di pagamento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payments_widget +msgid "Payments Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__phone +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__phone +msgid "Phone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_method +msgid "Picking Method" +msgstr "Metodo di picking" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price +msgid "Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce +msgid "Price Reduce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxexcl +msgid "Price Reduce Tax excl" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxinc +msgid "Price Reduce Tax inc" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__list_price +msgid "Price at which the product is sold to customers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_item_ids +msgid "Pricelist Item" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__item_ids +msgid "Pricelist Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__catalog_price_tax_included +msgid "Prices include tax" +msgstr "I prezzi includono le tasse" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_id +#, fuzzy +msgid "Pricing/Primary Category" +msgstr "Categoria del partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__printed +msgid "Printed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__priority +msgid "Priority" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__priority +msgid "" +"Priority for this picking. Setting manually a value here would set it as " +"priority for all the moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__procurement_group_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__group_id +msgid "Procurement Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_product +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__product_id +msgid "Product" +msgstr "Prodotto" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_line_ids +msgid "Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_category +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__odoo_id +msgid "Product Category" +msgstr "Categoria prodotto" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_image +msgid "Product Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__packaging_ids +msgid "Product Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_tmpl_id +#, fuzzy +msgid "Product Template" +msgstr "Categoria prodotto" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__type +#, fuzzy +msgid "Product Type" +msgstr "Tipo di prodotto di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_no_variant_attribute_value_ids +msgid "Product attribute values that do not create variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_production +#, fuzzy +msgid "Production Location" +msgstr "Locazione della sezione admin" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_ids +#, fuzzy +msgid "Products" +msgstr "Prodotto" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__delivery_type +msgid "Provider" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_purchase +#, fuzzy +msgid "Purchase Description" +msgstr "Descrizione" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_po_id +msgid "Purchase Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_at_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_qty +#, fuzzy +msgid "Quantity" +msgstr "Calcola la quantità" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_available +msgid "Quantity On Hand" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__incoming_qty +msgid "" +"Quantity of planned incoming products.\n" +"In a context with a single Stock Location, this includes goods arriving to " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods arriving to the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods arriving to any Stock Location with " +"'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__outgoing_qty +msgid "" +"Quantity of planned outgoing products.\n" +"In a context with a single Stock Location, this includes goods leaving this " +"Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods leaving the Stock " +"Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods leaving any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_template_id +msgid "Quotation Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__expense_policy +msgid "Re-Invoice Policy" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Read Binding information from backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.magento_binding_backend_read_act_window +msgid "Read information from backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/deleter.py:20 +#, python-format +msgid "Record %s deleted on Magento" +msgstr "Record %s eliminato su Magento" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:191 +#, python-format +msgid "Record does no longer exist in Magento" +msgstr "Il record non esiste più su Magento" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:371 +#, python-format +msgid "Record exported with ID %s on Magento." +msgstr "Il record è stato esportato con ID %s su Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__name +msgid "Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__origin +msgid "Reference of the document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__origin +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__origin +msgid "Reference of the document that produced this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__name +#, fuzzy +msgid "Reference/Description" +msgstr "Descrizione" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_ids +msgid "Refund Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_id +#, fuzzy +msgid "Related Company" +msgstr "Creato il" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__related_backorder_ids +msgid "Related backorders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__remaining_validity_days +msgid "Remaining Validity Days" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Remaining amount due in the currency of the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_signed +msgid "Remaining amount due in the currency of the invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual +msgid "Remaining amount due." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:136 +#, python-format +msgid "Reopen sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_max_qty +msgid "Reordering Max Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_min_qty +msgid "Reordering Min Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__nbr_reordering_rules +msgid "Reordering Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_signature +msgid "" +"Request a online signature to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_payment +msgid "" +"Request an online payment to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__responsible_id +msgid "Responsible" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__route_id +msgid "Route" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__route_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_ids +msgid "Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_sale +#, fuzzy +msgid "Sale Description" +msgstr "Descrizione" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__odoo_id +msgid "Sale Order" +msgstr "Ordine di vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__odoo_id +msgid "Sale Order Line" +msgstr "Linea dell'ordine di vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__sale_prefix +msgid "Sale Prefix" +msgstr "Prefisso di vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__lst_price +#, fuzzy +msgid "Sale Price" +msgstr "Prefisso di vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__workflow_process_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__workflow_process_id +msgid "Sale Workflow Process" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:53 +#, python-format +msgid "Sale is not linked with a Magento sales order" +msgstr "L'ordine non è collegato ad un ordine di vendita di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sale_id +msgid "Sales Order" +msgstr "Ordini di vendita" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order_line +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn +msgid "Sales Order Line" +msgstr "Linee degli ordini di vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__list_price +msgid "Sales Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__team_id +msgid "Sales Team" +msgstr "Team vendite" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__salesman_id +#, fuzzy +msgid "Salesperson" +msgstr "Ordini di vendita" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__scheduled_date +msgid "" +"Scheduled time for the first part of the shipment to be processed. Setting " +"manually a value here would set it as expected date for all the stock moves." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_token +msgid "Security Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__categ_id +msgid "Select category for the current product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_line_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__sale_warn +msgid "" +"Selecting the \"Warning\" option will notify user with the message, " +"Selecting \"Blocking Message\" will throw an exception with the message and " +"block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__self +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__self +msgid "Self" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0 and Use Customer Notification" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Send email notification on invoice validated/paid" +msgstr "Invia una mail di notifica quando la fattura viene validata/pagata" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_picking_done_mail +msgid "Send email notification on picking done" +msgstr "Invia email di notifica al completamento del picking" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sent +msgid "Sent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sequence +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sequence +msgid "Sequence" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__removal_strategy_id +msgid "" +"Set a specific removal strategy that will be used regardless of the source " +"location for this product category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_share +#, fuzzy +msgid "Share Partner" +msgstr "Partner di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_price +#, fuzzy +msgid "Shipping Cost" +msgstr "Spedizione creata" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:24 +#, python-format +msgid "Shipping Created" +msgstr "Spedizione creata" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_policy +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_type +msgid "Shipping Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_account_payment_mode__create_invoice_on +#, fuzzy +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"If nothing is set, the option falls back to the same option on the Magento " +"store related to the sales order." +msgstr "" +"La fattura dovrebbe essere creata in Magento quando viene validata o pagata " +"su OpenERP?\n" +"Questo ha effetto se il metodo di pagamento legato all'ordine di vendita non " +"fornisce già un'opzione per questo (Vedi i metodi di pagamento)" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__create_invoice_on +#, fuzzy +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"This only takes effect if the sales order's related payment method is not " +"giving an option for this by itself. (See Payment Methods)" +msgstr "" +"La fattura dovrebbe essere creata in Magento quando viene validata o pagata " +"su OpenERP?\n" +"Questo ha effetto se il metodo di pagamento legato all'ordine di vendita non " +"fornisce già un'opzione per questo (Vedi i metodi di pagamento)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Show Check Availability" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_lots_text +msgid "Show Lots Text" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Show Mark As Todo" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_operations +msgid "Show Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_validate +msgid "Show Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signature +msgid "Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signature +msgid "Signature received through the portal." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signed_by +msgid "Signed by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_expiration +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_token +msgid "Signup Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_valid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_url +msgid "Signup URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_small +msgid "" +"Small-sized image of this contact. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sales_count +msgid "Sold" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sort_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sort_order +msgid "Sort Order" +msgstr "Ordinamento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__origin +msgid "Source Document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__source_email +msgid "Source Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_id +msgid "Source Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_account_analytic_id +msgid "Specific analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "Specific fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_warehouse_id +msgid "Specific warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__hs_code +msgid "" +"Standardized code for international shipping and goods declaration. At the " +"moment, only used for the FedEx shipping provider." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__state_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__state_id +msgid "State" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:50 +#, python-format +msgid "State %s is not exported." +msgstr "Lo stato %s non è esportato." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__state +msgid "Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_stock_field_id +msgid "Stock Field" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_manual_move_ids +msgid "Stock Fifo Manual Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_real_time_aml_ids +msgid "Stock Fifo Real Time Aml" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_input +msgid "Stock Input Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_journal +msgid "Stock Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_move_ids +msgid "Stock Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__move_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_lines +msgid "Stock Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_output +msgid "Stock Output Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__odoo_id +msgid "Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Stock Quant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "Stock Valuation Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value_currency_id +msgid "Stock Value Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_ids_without_package +msgid "Stock moves not in package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__store_id +msgid "Store" +msgstr "Negozio" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__store_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Stores" +msgstr "Negozi" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__store_id +#, fuzzy +msgid "Storeview" +msgstr "Storeviews" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__storeview_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_storeview +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +msgid "Storeviews" +msgstr "Storeviews" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street +msgid "Street" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street2 +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street2 +msgid "Street2" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier_payment_mode_id +#, fuzzy +msgid "Supplier Payment Mode" +msgstr "Metodo di pagamento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Synchronize Metadata" +msgstr "Sincronizza i metadati" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__name +#, fuzzy +msgid "Tag Name" +msgstr "Nome" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__category_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__category_id +msgid "Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax +msgid "Tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__tax_class_id +msgid "Tax Class ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__vat +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__vat +msgid "Tax ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__tax_line_ids +msgid "Tax Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_rate +msgid "Tax Rate" +msgstr "Aliquota fiscale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_by_group +msgid "Tax amount by group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax groups are used with some external system like Prestashop" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax_signed +msgid "Tax in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_tax +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_id +msgid "Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_archived_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_existing_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Technical compute" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__display_type +msgid "Technical field for UX purpose." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_name +msgid "" +"Technical field holding the number given to the invoice, automatically set " +"when the invoice is validated then stored to set the same number again if " +"the invoice is cancelled, set to draft and re-validated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_check_availability +msgid "" +"Technical field used to compute whether the check availability button should " +"be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "" +"Technical field used to compute whether the mark as todo button should be " +"shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_validate +msgid "Technical field used to compute whether the validate should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__pricelist_id +msgid "" +"Technical field. Used for searching on pricelists, not stored in database." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_move_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_quant_ids +#, fuzzy +msgid "Technical: used to compute quantities." +msgstr "Magazzino usato per la valorizzazione delle scorte." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_template_attribute_value_ids +msgid "Template Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__note +msgid "Terms and conditions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__vat +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount +#, fuzzy +msgid "" +"The amount computed in Odoo doesn't match with the amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" +"Il totale calcolato su OpenERP non corrisponde alla quantità su Magento.\n" +"Causa:\n" +"Le tasse sono probabilmente differenti tra OpenERP e Magento. Una posizione " +"fiscale potrebbe aver cambiato il prezzo finale.\n" +"Soluzione:\n" +"Controlla la configurazione delle tue tasse e delle tue posizioni fiscali e " +"correggile se necessario." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__analytic_account_id +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:76 +#, python-format +msgid "The carrier %s does not export tracking numbers." +msgstr "Il trasportatore %s non esporta i numeri di tracciamento." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__commercial_partner_id +msgid "" +"The commercial entity that will be used on Journal Entries for this invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__company_id +msgid "The company is automatically set from your user preferences." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/importer.py:328 +#, fuzzy, python-format +msgid "" +"The configurable product is not imported in Odoo, because only the simple " +"products are used in the sales orders." +msgstr "" +"Il prodotto configurabile non è importato in OpenERP, perchè solo i prodotti " +"semplici vengono usati negli ordini di vendita" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_custom_api_path +msgid "" +"The default API path is '/index.php/api/xmlrpc'. Check this box if you use a " +"custom API path, in that case, the location has to be completed with the " +"custom API path " +msgstr "" +"Il path predefinito del API è '/index.php/api/xmlrpc''. Seleziona questo " +"box se utilizzi un path personalizzato per l'API. In quel caso la posizione " +"deve essere completata con il path custom dell'API." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_expense_categ_id +msgid "" +"The expense is accounted for when a vendor bill is validated, except in " +"anglo-saxon accounting with perpetual inventory valuation in which case the " +"expense (Cost of Goods Sold account) is recognized at the customer invoice " +"validation." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_position_id +msgid "" +"The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__name +msgid "The name that will be used on account move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__product_count +msgid "" +"The number of products under this category (Does not consider the children " +"categories)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__account_id +msgid "The partner account used for this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "" +"The partner has at least one unreconciled debit and credit since last time " +"the invoices & payments matching was performed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__tz +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__tz +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__reference +msgid "The payment communication of this sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reference +msgid "" +"The payment communication that will be automatically populated once the " +"invoice validation. You can also write a free communication." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__currency_rate +msgid "" +"The rate of the currency to the currency of rate 1 applicable at the date of " +"the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__lst_price +msgid "" +"The sale price is managed from the product template. Click on the 'Configure " +"Variants' button to set the extra attribute prices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_customer +msgid "" +"The stock location used as destination when sending goods to this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "" +"The stock location used as source when receiving goods from this contact." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount_tax +#, fuzzy +msgid "" +"The tax amount computed in Odoo doesn't match with the tax amount in " +"Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" +"Il totale delle tasse calcolato su OpenERP non corrisponde al totale delle " +"tasse su Magento.\n" +"Causa:\n" +"Le tasse sono probabilmente differenti tra OpenERP e Magento. Una posizione " +"fiscale potrebbe aver cambiato il prezzo finale.\n" +"Soluzione:\n" +"Controlla la configurazione delle tue tasse e delle tue posizioni fiscali e " +"correggile se necessario." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__volume +msgid "The volume in m3." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:41 +#, python-format +msgid "The wizard must be launched from a magento backend model" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:45 +#, python-format +msgid "The wizard must be launched on a single magento backend instance" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "" +"This account will be used instead of the default one as the payable account " +"for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "" +"This account will be used instead of the default one as the receivable " +"account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_income_categ_id +msgid "This account will be used when validating a customer invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_variant +msgid "" +"This field holds the image used as image for the product variant, limited to " +"1024x1024px." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__commitment_date +msgid "" +"This is the delivery date promised to the customer. If set, the delivery " +"order will be scheduled based on this date rather than product lead times." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__price_extra +msgid "This is the sum of the extra price of all attributes" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#, fuzzy +msgid "" +"This option should respect the same\n" +" configuration as Magento. Pay\n" +" attention to the taxes on the products,\n" +" which should surely include prices when\n" +" this option is activated." +msgstr "" +"Questa opzione dovrebbe essere\n" +"la stessa impostata in Magento. \n" +"Fai attenzione che le tasse sul prodotto\n" +"devono essere incluse nei prezzi quando\n" +"questa opzione è attivata." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "" +"This payment term will be used instead of the default one for purchase " +"orders and vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "" +"This payment term will be used instead of the default one for sales orders " +"and customer invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_production +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated by manufacturing orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_inventory +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated when you do an inventory." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__responsible_id +msgid "" +"This user will be responsible of the next activities related to logistic " +"operations for this product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz +msgid "Timezone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz_offset +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__title +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__title +msgid "Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_to_invoice +msgid "To Invoice Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__token +msgid "Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_total +msgid "Total" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount +msgid "Total Amount differs from Magento" +msgstr "Il totale è diverso da quello di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__total_invoiced +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__total_invoiced +#, fuzzy +msgid "Total Invoiced" +msgstr "Fattura di default" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit +msgid "Total Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit +msgid "Total Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_tax +msgid "Total Tax" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount_tax +msgid "Total Tax Amount differs from Magento" +msgstr "Il totale delle tasse è diverso da quello di Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount +msgid "Total amount" +msgstr "Totale" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total amount in the currency of the company, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total amount in the currency of the invoice, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__credit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount_tax +msgid "Total amount w. tax" +msgstr "Totale tasse incluse" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__debit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__total_route_ids +#, fuzzy +msgid "Total routes" +msgstr "Totale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__service_type +msgid "Track Service" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tracking +msgid "Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_ref +msgid "Tracking Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_url +msgid "Tracking URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__transaction_ids +msgid "Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__type +msgid "Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__type_name +msgid "Type Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_code +msgid "Type of Operation" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_website/importer.py:21 +#, python-format +msgid "Undefined" +msgstr "Non definito" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_name +msgid "Unit of Measure Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of measurement for Weight" +msgstr "" + +#. module: connector_magento +#: model:product.product,uom_name:connector_magento.product_product_rewards +#: model:product.product,uom_name:connector_magento.product_product_store_credit +#: model:product.template,uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,uom_name:connector_magento.product_product_store_credit_product_template +msgid "Unit(s)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_untaxed +#, fuzzy +msgid "Untaxed Amount" +msgstr "Totale" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_to_invoice +msgid "Untaxed Amount To Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_signed +msgid "Untaxed Amount in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_invoice_signed +msgid "Untaxed Amount in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_invoiced +msgid "Untaxed Invoiced Amount" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update" +msgstr "Aggiorna" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update all the products stock quantities" +msgstr "Aggiorna tutte le quantità dei prodotti in stock" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__updated_at +msgid "Updated At (on Magento)" +msgstr "Aggiornato al (su Magento)" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__location +msgid "Url to magento application" +msgstr "L'url all'applicazione Magento" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +#: selection:magento.product.product,manage_stock:0 +msgid "Use Default Config" +msgstr "Usa la configurazione di default" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_auth_basic +msgid "Use HTTP Auth Basic" +msgstr "Usa l'autenticazione HTTP" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_auth_basic +msgid "" +"Use a Basic Access Authentication for the API. The Magento server could be " +"configured to restrict access using a HTTP authentication based on a " +"username and a password." +msgstr "" +"Utilizza un'autenticazione basic per l'API. Il server Magento potrebbe " +"essere configurato per limitare l'accesso utilizzando un'autenticazione " +"basic HTTP composta da utente e password." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__type +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__type +msgid "" +"Used by Sales and Purchase Apps to select the relevant address depending on " +"the context." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_custom_attribute_value_ids +msgid "User entered custom product attribute values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__username +msgid "Username" +msgstr "Username" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_ids +#, fuzzy +msgid "Users" +msgstr "Username" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_archived_variant_ids +msgid "Valid Archived Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_existing_variant_ids +msgid "Valid Existing Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +msgid "Valid Product Attribute Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Valid Product Attribute Lines Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +msgid "Valid Product Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +msgid "Valid Product Attribute Values Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_ids +msgid "Valid Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +msgid "Valid Product Attributes Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Validate" +msgstr "Valida" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__validity_date +msgid "Validity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__validity_date +msgid "" +"Validity date of the quotation, after this date, the customer won't be able " +"to validate the quotation online." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valuation +msgid "Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value +msgid "Value" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_variant +msgid "Variant Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price_extra +msgid "Variant Price Extra" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__variant_seller_ids +msgid "Variant Seller" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Vendor Bill" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_display_name +msgid "Vendor Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_supplier +#, fuzzy +msgid "Vendor Location" +msgstr "Locazione" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Vendor Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__seller_ids +msgid "Vendors" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__verify_ssl +msgid "Verify SSL certificate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__version +msgid "Version" +msgstr "Versione" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__volume +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__volume +msgid "Volume" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__warehouse_id +msgid "Warehouse" +msgstr "Magazzino" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__warehouse_id +msgid "Warehouse used to compute the stock quantities." +msgstr "Magazzino usato per la valorizzazione delle scorte." + +#. module: connector_magento +#: code:addons/connector_magento/models/product/common.py:188 +#, python-format +msgid "" +"We have to import the product before we can provide the admin link to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__password +msgid "Webservice password" +msgstr "Password del webservice" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__username +msgid "Webservice user" +msgstr "Utente del webservice" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__website_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website +msgid "Website" +msgstr "Sito web" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_website +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Websites" +msgstr "Siti web" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight +msgid "Weight" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_id +msgid "Weight Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__shipping_weight +msgid "Weight for Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__weight +msgid "" +"Weight of the product, packaging not included. The unit of measure can be " +"changed in the general settings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_name +msgid "Weight unit of measure label" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. This is the default " +"value for all products in this category. It can also directly be set on each " +"product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_input +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. When not set on the " +"product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. This is the " +"default value for all products in this category. It can also directly be set " +"on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_output +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. When not set on " +"the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_journal +msgid "" +"When doing real-time inventory valuation, this is the Accounting Journal in " +"which entries will be automatically posted when stock moves are processed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "" +"When real-time inventory valuation is enabled on a product, this account " +"will hold the current value of the products." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__is_locked +msgid "" +"When the picking is not done this allows changing the initial demand. When " +"the picking is done this allows changing the done quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_id +msgid "You can find a contact by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "You can find a customer by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__zip +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__zip +msgid "Zip" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "choose" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__import_orders_from_date +msgid "" +"do not consider non-imported sale orders before this date. Leave empty to " +"import all sale orders" +msgstr "" +"non considerare gli ordini di vendita precedenti a questa data come 'non " +"importati'. Lascia vuoto per importare tutti gli ordini di vendita" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com" +msgstr "es. http://my.magento.com" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com/admin" +msgstr "es. http://my.magento.com/admin" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +#, fuzzy +msgid "get" +msgstr "Magento" + +#. module: connector_magento +#: model:product.product,weight_uom_name:connector_magento.product_product_rewards +#: model:product.product,weight_uom_name:connector_magento.product_product_store_credit +#: model:product.template,weight_uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,weight_uom_name:connector_magento.product_product_store_credit_product_template +msgid "kg" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "mag-" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner_category +#, fuzzy +msgid "magento.res.partner.category" +msgstr "Categoria padre di Magento" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__amount_by_group +msgid "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__warehouse_id +#, fuzzy +msgid "warehouse" +msgstr "Magazzino" + +#, fuzzy +#~ msgid "# of Invoices" +#~ msgstr "Fattura" + +#, fuzzy +#~ msgid "# of Sales Order" +#~ msgstr "Ordini di vendita" + +#, fuzzy +#~ msgid "Can Edit Delivered" +#~ msgstr "Ordine di consegna di Magento" + +#, fuzzy +#~ msgid "Invoiced" +#~ msgstr "Fattura" + +#, fuzzy +#~ msgid "Magento backend id" +#~ msgstr "Il backend Magento" + +#, fuzzy +#~ msgid "Magento binding model" +#~ msgstr "Collegamenti di Magento" + +#, fuzzy +#~ msgid "Payments widget" +#~ msgstr "Metodo di pagamento" + +#, fuzzy +#~ msgid "Picking Type" +#~ msgstr "Metodo di picking" + +#, fuzzy +#~ msgid "Procurement Location" +#~ msgstr "Locazione della sezione admin" + +#, fuzzy +#~ msgid "Sale Pricelist" +#~ msgstr "Prefisso di vendita" + +#, fuzzy +#~ msgid "Section" +#~ msgstr "Descrizione" + +#, fuzzy +#~ msgid "To Invoice" +#~ msgstr "Fattura" + +#~ msgid "Connector Configuration" +#~ msgstr "Configurazione del connettore" + +#~ msgid "Export Partners to Magento (experimental)" +#~ msgstr "Esporta i partner verso Magento (sperimentale)" + +#~ msgid "Extensions" +#~ msgstr "Estensioni" + +#~ msgid "Magentoerpconnect" +#~ msgstr "Magentoerpconnect" + +#~ msgid "Picking List" +#~ msgstr "Lista di picking" + +#~ msgid "Prices are managed in OpenERP with pricelists" +#~ msgstr "I prezzi sono gestiti in OpenERP con i listini prezzi" + +#~ msgid "" +#~ "Prices are set in OpenERP and exported to Magento.\n" +#~ "\n" +#~ "This installs the module connector_magento_pricing." +#~ msgstr "" +#~ "I prezzi vengono impostati su OpenERP ed esportati su Magento.\n" +#~ "\n" +#~ "Questo installa il modulo connector_magento_pricing." + +#~ msgid "This installs the module connector_magento_export_partner." +#~ msgstr "Questo installa il modulo connector_magento_export_partner." diff --git a/connector_magento/i18n/nl.po b/connector_magento/i18n/nl.po new file mode 100644 index 000000000..419f48690 --- /dev/null +++ b/connector_magento/i18n/nl.po @@ -0,0 +1,5394 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * connector_magento +# +# Translators: +# FIRST AUTHOR , 2014 +msgid "" +msgstr "" +"Project-Id-Version: connector-magento (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-07-22 09:38+0000\n" +"PO-Revision-Date: 2015-07-08 12:07+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Dutch (http://www.transifex.com/oca/OCA-connector-magento-8-0/" +"language/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__state +msgid "" +" * Draft: not confirmed yet and will not be scheduled until confirmed.\n" +" * Waiting Another Operation: waiting for another move to proceed before it " +"becomes automatically available (e.g. in Make-To-Order flows).\n" +" * Waiting: if it is not ready to be sent because the required products " +"could not be reserved.\n" +" * Ready: products are reserved and ready to be sent. If the shipping policy " +"is 'As soon as possible' this happens as soon as anything is reserved.\n" +" * Done: has been processed, can't be modified or cancelled anymore.\n" +" * Cancelled: has been cancelled, can't be confirmed anymore." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__state +msgid "" +" * The 'Draft' status is used when a user is encoding a new and unconfirmed " +"Invoice.\n" +" * The 'Open' status is used when user creates invoice, an invoice number is " +"generated. It stays in the open status till the user pays the invoice.\n" +" * The 'In Payment' status is used when payments have been registered for " +"the entirety of the invoice in a journal configured to post entries at bank " +"reconciliation only, and some of them haven't been reconciled with a bank " +"statement line yet.\n" +" * The 'Paid' status is set automatically when the invoice is paid. Its " +"related journal entries may or may not be reconciled.\n" +" * The 'Cancelled' status is used when user cancel invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_count +msgid "# Product Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__product_count +#, fuzzy +msgid "# Products" +msgstr "Product" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__magento_order_id +msgid "'order_id' field in Magento" +msgstr "'order_id' veld in Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "(recompute)" +msgstr "(herbereken)" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +msgid "A Magento binding for this invoice already exists." +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.backend:0 +msgid "A backend with the same sale prefix already exists" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 sql_constraint:magento.address:0 +#: sql_constraint:magento.binding:0 sql_constraint:magento.product.category:0 +#: sql_constraint:magento.product.product:0 +#: sql_constraint:magento.res.partner:0 +#: sql_constraint:magento.res.partner.category:0 +#: sql_constraint:magento.sale.order:0 sql_constraint:magento.sale.order.line:0 +#: sql_constraint:magento.stock.picking:0 sql_constraint:magento.store:0 +#: sql_constraint:magento.storeview:0 sql_constraint:magento.website:0 +msgid "A binding already exists with the same Magento ID." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__description_sale +msgid "" +"A description of the Product that you want to communicate to your customers. " +"This description will be copied to every Sales Order, Delivery Order and " +"Customer Invoice/Credit Note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "" +"A parent sales order has been canceled on the backend and needs to be " +"canceled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_id +msgid "A parent sales order is a sales order replaced by this one." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order needs cancel" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.address:0 +msgid "A partner address can only have one binding by backend." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__sale_prefix +msgid "" +"A prefix put before the name of imported sales orders.\n" +"For instance, if the prefix is 'mag-', the sales order 100000692 in Magento, " +"will be named 'mag-100000692' in Odoo." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "API" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_warning +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_warning +msgid "Access warning" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "" +"According to product configuration, the delivered quantity can be " +"automatically computed by mechanism :\n" +" - Manual: the quantity is set manually on the line\n" +" - Analytic From expenses: the quantity is the quantity sum from posted " +"expenses\n" +" - Timesheet: the quantity is the sum of hours recorded on tasks linked to " +"this sale line\n" +" - Stock Moves: the quantity comes from confirmed pickings\n" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__account_id +msgid "Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date +msgid "Accounting Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__bank_account_required +msgid "" +"Activate this option if this payment method requires you to know the bank " +"account number of your customer or supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__active +msgid "Active" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_ids +msgid "Activities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_state +msgid "Activity State" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__comment +#, fuzzy +msgid "Additional Information" +msgstr "Informatie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__additional_info +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__additional_info +msgid "Additional info" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__type +msgid "Address Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_magento_order_address +msgid "Address from a Magento Order" +msgstr "Adres van een Magento order" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__admin_location +msgid "Admin Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Advanced Configuration" +msgstr "Geavanceerde configuratie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__all_qty_delivered +msgid "All quantities delivered" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__lang +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this " +"language." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:76 +#, python-format +msgid "Already exported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/importer.py:374 +#, python-format +msgid "Already imported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:200 +#, python-format +msgid "Already up-to-date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_undiscounted +msgid "Amount Before Discount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual +msgid "Amount Due" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Amount Due in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_signed +msgid "Amount Due in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__consider_as_company +msgid "" +"An account imported with a 'company' in the billing address is considered as " +"a company.\n" +" The partner takes the name of the company and is not merged with the " +"billing address." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__account_analytic_id +msgid "Analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_line_ids +msgid "Analytic lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__token +msgid "" +"Authentication token for Magento 2.0+. See https://devdocs. magento.com/" +"guides/v2.3/get-started/authentication/gs-authentication-token.html" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__authorized_transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__authorized_transaction_ids +msgid "Authorized Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Auto-complete from a past bill." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__workflow_process_id +msgid "Automatic Workflow" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__available_carrier_ids +msgid "Available Carriers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_id +#, fuzzy +msgid "Back Order of" +msgstr "Verkooporder" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_ids +msgid "Back Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_backend +msgid "Backends" +msgstr "Backends" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_account_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_account_count +msgid "Bank" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "" +"Bank Account Number to which the invoice will be paid. A Company bank " +"account if this is a Customer Invoice or Vendor Credit Note, otherwise a " +"Partner bank account number." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Bank Account Required" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_ids +msgid "Banks" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__barcode +msgid "Barcode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__base_media_url +msgid "Base Media Url" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__base_media_url +msgid "" +"Base URL to retrieve product images. Used for Magento2 only. For example: " +"http://magento/media" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic Auth. Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic Auth. Username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic access authentication web server side password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic access authentication web server side username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image +msgid "Big-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__birthday +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_users__birthday +msgid "Birthday" +msgstr "Verjaardag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_bounce +msgid "Bounce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_bulk +msgid "Bulk Weight" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#, fuzzy +msgid "" +"By clicking on the buttons,\n" +" you will initiate the synchronizations\n" +" with Magento.\n" +" Note that the import or exports\n" +" won't be done directly,\n" +" they will create 'Jobs'\n" +" executed as soon as possible." +msgstr "" +"Door op de knoppen te drukken,\n" +" start u de synchronisatie\n" +" met Magento.\n" +" Houdt er rekening mee dat de \n" +" import of export niet direct start,\n" +" maar dat zij 'taken' genereren\n" +" welke z.s.m. worden uitgevoerd." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_updatable +msgid "Can Edit Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__purchase_ok +msgid "Can be Purchased" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__rental +msgid "Can be Rent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_ok +msgid "Can be Sold" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Cancel" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:113 +#, python-format +msgid "Cancel sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__canceled_in_backend +msgid "Canceled in backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:71 +#, python-format +msgid "" +"Canceled: the delivery order does not contain lines from the original sale " +"order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__cancellation_resolved +msgid "Cancellation from the backend resolved" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_id +msgid "Carrier" +msgstr "Vervoerder" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Cash Rounding Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_from_categ_ids +msgid "Category Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__channel_ids +msgid "Channels" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "" +"Check if the storeview is active in Magento but its sales orders should not " +"be imported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__has_packages +msgid "Check the existence of destination packages on move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Check the existence of pack operation on the picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer +msgid "" +"Check this box if this contact is a customer. It can be selected in sales " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier +msgid "" +"Check this box if this contact is a vendor. It can be selected in purchase " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__employee +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__no_stock_sync +msgid "Check this to exclude the product from stock synchronizations." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_backend/common.py:246 +#, python-format +msgid "" +"Check your configuration, we can't get the data. Here is the error:\n" +"%s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__child_id +#, fuzzy +msgid "Child Categories" +msgstr "Magento onderliggende categorien" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__child_ids +msgid "Child Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__product_stock_field_id +msgid "" +"Choose the field of the product which will be used for stock inventory " +"updates.\n" +"If empty, Quantity Available is used." +msgstr "" +"Kies het veld van het product welke wordt gebruikt voor het bijwerken van de " +"voorraad.\n" +"Indien leeg wordt de beschikbare voorraad gebruikt." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__city +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__city +msgid "City" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Close" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__code +msgid "Code" +msgstr "Code" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__color +msgid "Color Index" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__commitment_date +msgid "Commitment Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref_company_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__company_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Company" +msgstr "Bedrijf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_currency_id +#, fuzzy +msgid "Company Currency" +msgstr "Bedrijf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_name +#, fuzzy +msgid "Company Name" +msgstr "Bedrijf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_company_name +#, fuzzy +msgid "Company Name Entity" +msgstr "Berekende hoeveelheid" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_type +#, fuzzy +msgid "Company Type" +msgstr "Bedrijf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_gid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_users__company +msgid "Company name (in Magento)" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Complete" +msgstr "Compleet" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contact_address +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contact_address +#, fuzzy +msgid "Complete Address" +msgstr "Compleet" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__complete_name +msgid "Complete Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__effective_date +msgid "Completion date of the first delivery order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_qty +msgid "Computed Quantity" +msgstr "Berekende hoeveelheid" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__confirmation_date +#, fuzzy +msgid "Confirmation Date" +msgstr "Belangrijkste instellingen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__consider_as_company +msgid "Considered as company" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner +msgid "Contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__child_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__child_ids +msgid "Contacts" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contracts_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__standard_price +msgid "Cost" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_currency_id +msgid "Cost Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_method +msgid "Cost Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__standard_price +msgid "" +"Cost used for stock valuation in standard price and as a first price to set " +"in average/fifo. Also used as a base price for pricelists. Expressed in the " +"default unit of measure of the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_cost_method +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_cost_method +#, fuzzy +msgid "Costing Method" +msgstr "Verzamelmethode" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__country_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__country_id +msgid "Country" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +msgid "Create invoice on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_payment_mode__create_invoice_on +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_invoice_on +msgid "Create invoice on action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__created_at +msgid "Created At (on Magento)" +msgstr "Aangemaakt op (in Magento)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_uid +msgid "Created by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_date +msgid "Created on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date +msgid "Creation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date +msgid "Creation Date, usually the time of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__currency_id +msgid "Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__qty_available +msgid "" +"Current quantity of products.\n" +"In a context with a single Stock Location, this includes goods stored at " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"stored in the Stock Location of the Warehouse of this Shop, or any of its " +"children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_custom_api_path +msgid "Custom Api Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_partner_id +#, fuzzy +msgid "Customer" +msgstr "Gast klant" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_delay +msgid "Customer Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_customer +#, fuzzy +msgid "Customer Location" +msgstr "Locatie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Customer Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__partner_ref +#, fuzzy +msgid "Customer Ref" +msgstr "Gast klant" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__client_order_ref +msgid "Customer Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__taxes_id +msgid "Customer Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__date +msgid "Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date_done +msgid "Date at which the transfer has been processed or cancelled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date_done +msgid "Date of Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__confirmation_date +msgid "Date on which the sales order is confirmed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_billing +msgid "Default Invoice" +msgstr "Standaard factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_lang_id +msgid "Default Language" +msgstr "Standaardtaal" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__owner_id +#, fuzzy +msgid "Default Owner" +msgstr "Standaard factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_category_id +msgid "Default Product Category" +msgstr "Standaard productcategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_shipping +msgid "Default Shipping" +msgstr "Standaard verzending" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Default taxes used when buying the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__taxes_id +msgid "Default taxes used when selling the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_id +msgid "Default unit of measure used for all stock operations." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_po_id +msgid "" +"Default unit of measure used for purchase orders. It must be in the same " +"category as the default unit of measure." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__seller_ids +msgid "Define vendor pricelists." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "" +"Defines the smallest coinage of the currency that can be used to pay by cash." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__trust +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_manual +msgid "Delivered Manually" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered +msgid "Delivered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_shipping_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Delivery Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_message +msgid "Delivery Message" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_count +#, fuzzy +msgid "Delivery Orders" +msgstr "Magento uitgaande levering" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_rating_success +msgid "Delivery Rating Success" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__expected_date +msgid "" +"Delivery date you can promise to the customer, computed from product lead " +"times and from the shipping policy of the order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_delay +msgid "" +"Delivery lead time, in days. It's the number of days, promised to the " +"customer, between the confirmation of the sales order and the delivery." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__route_ids +msgid "" +"Depending on the modules installed, this will allow you to define the route " +"of the product: whether it will be bought, manufactured, MTO, etc." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__name +msgid "Description" +msgstr "Beschrijving" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingout +msgid "Description on Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_picking +#, fuzzy +msgid "Description on Picking" +msgstr "Beschrijving" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingin +msgid "Description on Receptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_dest_id +msgid "Destination Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__display_name +msgid "Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_type +msgid "Display Type" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Do Not Manage Stock" +msgstr "Geen voorraad beheren" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "" +"Does the invoice export/creation should send an email notification on " +"Magento side?" +msgstr "" +"Moet het exporteren of aanmaken van een factuur een e-mail sturen vanaf de " +"Magento zijde?" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_picking_done_mail +msgid "" +"Does the picking export/creation should send an email notification on " +"Magento side?" +msgstr "" +"Moet het exporteren of aanmaken van een uitgaande levering een e-mail sturen " +"vanaf de Magento zijde?" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "" +"Down payments are made when creating invoices from a sales order. They are " +"not copied when duplicating a sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_due +msgid "Due Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__emailid +msgid "E-mail address" +msgstr "E-mail adres" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__effective_date +msgid "Effective Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email +msgid "Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__employee +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__employee +msgid "Employee" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__enabled +msgid "Enabled" +msgstr "Ingeschakeld" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tracking +msgid "Ensure the traceability of a storable product in your warehouse." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_price +#, fuzzy +msgid "Estimated Delivery Price" +msgstr "Magento uitgaande levering" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exception_ids +#, fuzzy +msgid "Exceptions" +msgstr "Opties" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exceptions_summary +msgid "Exceptions Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_expense_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Expense Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__expense_policy +msgid "" +"Expenses and vendor bills can be re-invoiced to a customer.With this option, " +"a validated expense can be re-invoice to a customer at its cost or sales " +"price." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_export_tracking +msgid "Export tracking numbers" +msgstr "Exporteer traceer nummers" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_ids +msgid "Extra categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__data +msgid "File" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__name +#, fuzzy +msgid "File Name" +msgstr "Naam" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__carrier_id +msgid "Fill this field if you plan to invoice the shipping based on picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__fiscal_position_id +msgid "Fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Force Removal Strategy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__virtual_available +#, fuzzy +msgid "Forecast Quantity" +msgstr "Berekende hoeveelheid" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__virtual_available +msgid "" +"Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n" +"In a context with a single Stock Location, this includes goods stored in " +"this location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Get" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__packaging_ids +msgid "Gives the different ways to package the same product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sequence +msgid "Gives the sequence order when displaying a product list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__guest_customer +msgid "Guest Customer" +msgstr "Gast klant" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hs_code +#, fuzzy +msgid "HS Code" +msgstr "Code" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "HTTP Authentication" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__has_checkpoint +msgid "Has Checkpoint" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__has_outstanding +msgid "Has Outstanding" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Has Pack Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_packages +msgid "Has Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_scrap_move +msgid "Has Scrap Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_tracking +msgid "Has Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__need_cancel +msgid "Has been canceled on the backend, need to be canceled." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Here is the file with information read drom the backend:" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hide_expense_policy +msgid "Hide Expense Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__id +msgid "ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__external_id +msgid "ID on Magento" +msgstr "ID in Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__im_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__im_status +msgid "IM Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_category_id +msgid "" +"If a default category is selected, products imported without a category will " +"be linked to it." +msgstr "" +"Indien de standaard categorie is geselecteerd, worden producten zonder een " +"categorie aan deze standaard categorie gekoppeld." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_lang_id +msgid "" +"If a default language is selected, the records will be imported in the " +"translation of this language.\n" +"Note that a similar configuration exists for each storeview." +msgstr "" +"Als een standaard taal is geselecteerd, worden de regels geïmporteerd in de " +"vertaling van deze taal.\n" +"Let op, deze instelling bestaat voor iedere winkelweergave." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__team_id +msgid "" +"If set, this Sales Team will be used for sales and assignations related to " +"this partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "" +"If specified, this fiscal position will be used to fill the field fiscal " +"position on the sale order created by the connector.The value can also be " +"specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_warehouse_id +msgid "" +"If specified, this warehouse will be used to load fill the field warehouse " +"(and company) on the sale order created by the connector.The value can also " +"be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_website__is_multi_company +msgid "" +"If this flag is set, it is possible to choose warehouse at each level. When " +"import partner, ignore company_id if this flag is set." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__backorder_id +msgid "" +"If this shipment was split, then this field links to the shipment which " +"contains the already processed part." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "If ticked, you will be able to select entire packages to move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__active +msgid "" +"If unchecked, it will allow you to hide the product without removing it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__picking_policy +msgid "" +"If you deliver all products at once, the delivery order will be scheduled " +"based on the greatest product lead time. Otherwise, it will be based on the " +"shortest." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__payment_term_id +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. If you keep the payment terms and the due " +"date empty, it means direct payment. The payment terms may compute several " +"due dates, for example 50% now, 50% in one month." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_due +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. The Payment terms may compute several due " +"dates, for example 50% now and 50% in one month, but if you want to force a " +"due date, make sure that the payment term is not set on the invoice. If you " +"keep the Payment terms and the due date empty, it means direct payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__ignore_exception +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__ignore_exception +#, fuzzy +msgid "Ignore Exceptions" +msgstr "Voorraad opties" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image +msgid "Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__product_image +msgid "" +"Image of the product variant (Big-sized image of product template if false). " +"It is automatically resized as a 1024x1024px image, with aspect ratio " +"preserved." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_medium +msgid "" +"Image of the product variant (Medium-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_small +msgid "" +"Image of the product variant (Small-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__immediate_transfer +msgid "Immediate Transfer" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders" +msgstr "Importeer verkooporders" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders since" +msgstr "Importeer verkooporders vanaf" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import all customer groups" +msgstr "Importeer alle klant groepen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_categories_from_date +msgid "Import categories from date" +msgstr "Importeer productcategorien vanaf" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import in background" +msgstr "Importeer op de achtergrond" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import partners from all websites" +msgstr "Importeer relatie van alle websites" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__import_partners_from_date +msgid "Import partners from date" +msgstr "Importeer relaties vanaf" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import partners since" +msgstr "Importeer relaties vanaf" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products categories since" +msgstr "Importeer product categorieën vanaf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_products_from_date +msgid "Import products from date" +msgstr "Importeer producten vanaf" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products since" +msgstr "Importeer producten vanaf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__import_orders_from_date +msgid "Import sale orders from date" +msgstr "Importeer verkooporders vanaf" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import sales orders from all store views" +msgstr "Improteer verkooporders van alle winkelweergaven" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Imports" +msgstr "Imports" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_internal_id +msgid "" +"In Magento2, we have to keep track of both the external_id (the product SKU) " +"which is used in the Magento2 REST API, as well as the Magento internal id " +"as used in the admin URL." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_income_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_income_id +msgid "Income Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__incoming_qty +msgid "Incoming" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterm_id +msgid "Incoterm" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterms_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__incoterm +msgid "Incoterms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterms_id +msgid "" +"Incoterms are series of sales terms. They are used to divide transaction " +"costs and responsibilities between buyer and seller and reflect state-of-the-" +"art transportation practices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__industry_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__industry_id +msgid "Industry" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Informations" +msgstr "Informatie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__default_code +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref +msgid "Internal Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__barcode +msgid "International Article Number used for product identification." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterm_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__incoterm +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_inventory +#, fuzzy +msgid "Inventory Location" +msgstr "Voorraad opties" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "Inventory Options" +msgstr "Voorraad opties" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_valuation +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_valuation +#, fuzzy +msgid "Inventory Valuation" +msgstr "Voorraad opties" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_invoice +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn +msgid "Invoice" +msgstr "Factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_invoice_id +#, fuzzy +msgid "Invoice Address" +msgstr "Magento adres" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_count +msgid "Invoice Count" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/account_invoice/exporter.py:25 +#, python-format +msgid "Invoice Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_invoice +#, fuzzy +msgid "Invoice Date" +msgstr "Factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_icon +msgid "Invoice Icon" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_line_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_lines +#, fuzzy +msgid "Invoice Lines" +msgstr "Factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_shipping_on_delivery +msgid "Invoice Shipping on Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_status +#, fuzzy +msgid "Invoice Status" +msgstr "Factuur" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_id +msgid "Invoice for which this invoice is the credit note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_invoiced +msgid "Invoiced Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_ids +#, fuzzy +msgid "Invoices" +msgstr "Factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__invoice_policy +msgid "Invoicing Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__is_multi_company +msgid "Is Backend Multi-Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__is_locked +msgid "Is Locked" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__is_product_variant +msgid "Is Product Variant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_company +#, fuzzy +msgid "Is a Company" +msgstr "Bedrijf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer +#, fuzzy +msgid "Is a Customer" +msgstr "Gast klant" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_delivery +msgid "Is a Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Is a down payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is expense" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__is_expired +msgid "Is expired" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is true if the sales order line comes from an expense or a vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reconciled +msgid "" +"It indicates that the invoice has been paid and the journal entry of the " +"invoice has been reconciled with one or several journal entries of payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__sent +msgid "It indicates that the invoice has been sent." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_type +msgid "It specifies goods to be deliver partially or all at once" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__function +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__function +msgid "Job Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_id +msgid "Journal Entry" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_name +msgid "Journal Entry Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__journal_item_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_invoice +msgid "Keep empty to use the current date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date +msgid "Keep empty to use the invoice date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_income_id +msgid "" +"Keep this field empty to use the default value from the product category." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_expense_id +msgid "" +"Keep this field empty to use the default value from the product category. If " +"anglo-saxon accounting with automated valuation method is configured, the " +"expense account on the product category will be used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__lang_id +msgid "Language" +msgstr "Taal" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_address____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_store____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_website____last_update +msgid "Last Modified on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_date +msgid "Last Updated on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_qty +msgid "Last computed quantity to send on Magento." +msgstr "Laatst berekende hoeveelheid om te versturen naar Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sync_date +msgid "Last synchronization date" +msgstr "Laatste synchronisatie datum" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "" +"Last time the invoices & payments matching was performed for this partner. " +"It is set either if there's not at least an unreconciled debit and an " +"unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_id +msgid "Link to the automatically generated Journal Items." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__location +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__location_id +msgid "Location" +msgstr "Locatie" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_root +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_delivery_carrier_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_category_form +msgid "Magento" +msgstr "Magento" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_categories_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_categories +#: model:ir.cron,name:connector_magento.ir_cron_import_product_categories +msgid "Magento - Import Product Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_product_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_product +#: model:ir.cron,name:connector_magento.ir_cron_import_product_product +msgid "Magento - Import Products" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_update_product_stock_qty_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_update_product_stock_qty +#: model:ir.cron,name:connector_magento.ir_cron_update_product_stock_qty +msgid "Magento - Update Stock Quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_customer_groups_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_customer_groups +#: model:ir.cron,name:connector_magento.ir_cron_import_customer_groups +msgid "Magento - Import Customer Groups" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_partners_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_partners +#: model:ir.cron,name:connector_magento.ir_cron_import_partners +msgid "Magento - Import Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_sale_orders_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_sale_orders +#: model:ir.cron,name:connector_magento.ir_cron_import_sale_orders +msgid "Magento - Import Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_address +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_tree +msgid "Magento Address" +msgstr "Magento adres" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_address_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Magento Address Bindings" +msgstr "Magento adres koppelingen" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_backend +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__backend_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_tree +msgid "Magento Backend" +msgstr "Magento backend" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_backend +msgid "Magento Backends" +msgstr "Magento backends" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_carrier_code +#, fuzzy +msgid "Magento Base Carrier Code" +msgstr "Magento vervoerdercode" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding +msgid "Magento Binding (abstract)" +msgstr "Magento koppelingen (abstract)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_binding_model +msgid "Magento Binding Model" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_stock_picking__magento_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:connector_magento.view_invoice_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_sale_order_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_stock_picking_out_magento_form +msgid "Magento Bindings" +msgstr "Magento koppelingen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_code +msgid "Magento Carrier Code" +msgstr "Magento vervoerdercode" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_child_ids +msgid "Magento Child Categories" +msgstr "Magento onderliggende categorien" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Magento Configuration" +msgstr "Magento configuratie" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_config_specializer +msgid "Magento Configuration Specializer Mixin" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_stock_picking +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_tree +msgid "Magento Delivery Order" +msgstr "Magento uitgaande levering" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding_backend_read +msgid "Magento Generic Object Reader Wizard" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__group_id +msgid "Magento Group (Category)" +msgstr "Magento groep (Categorie)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_id +#, fuzzy +msgid "Magento Id" +msgstr "Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_internal_id +msgid "Magento Internal" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_account_invoice +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_tree +msgid "Magento Invoice" +msgstr "Magento factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_id +msgid "Magento Order ID" +msgstr "Magento order ID" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_line_ids +msgid "Magento Order Lines" +msgstr "Magento orderregels" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_parent_id +msgid "Magento Parent Category" +msgstr "Magento bovenliggende categorie" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_partner_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_tree +msgid "Magento Partner" +msgstr "Magento relatie" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_product +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_tree +msgid "Magento Product" +msgstr "Magento product" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_category +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_tree +msgid "Magento Product Category" +msgstr "Magento product categorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_type +msgid "Magento Product Type" +msgstr "Magento productsoort" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_binding_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__product_binding_ids +msgid "Magento Products" +msgstr "Magento producten" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_rewards +#: model:product.template,name:connector_magento.product_product_rewards_product_template +#, fuzzy +msgid "Magento Rewards" +msgstr "Magento backends" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_order_id +msgid "Magento Sale Order" +msgstr "Magento verkooporder" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order_line +msgid "Magento Sale Order Line" +msgstr "Magento verkooporderregel" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_tree +#, fuzzy +msgid "Magento Sales Orders" +msgstr "Magento verkooporder" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_tree +msgid "Magento Store" +msgstr "Magento winkel" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_store_credit +#: model:product.template,name:connector_magento.product_product_store_credit_product_template +#, fuzzy +msgid "Magento Store Credit" +msgstr "Magento winkel" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_store +msgid "Magento Stores" +msgstr "Magento winkels" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_storeview +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__storeview_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_tree +msgid "Magento Storeview" +msgstr "Magento winkelweergave" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_storeview +msgid "Magento Storeviews" +msgstr "Magento winkelweergaven" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_tracking_title +msgid "Magento Tracking Title" +msgstr "Magento Tracking Title" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__taxvat +msgid "Magento VAT" +msgstr "Magento BTW" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_website +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__website_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_tree +msgid "Magento Website" +msgstr "Magento website" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_website +msgid "Magento Websites" +msgstr "Magento websites" + +#. module: connector_magento +#: model:res.partner.category,name:connector_magento.category_no_account +msgid "Magento guest users" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:58 +#, python-format +msgid "Magento sales order is already in state %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Main Configuration" +msgstr "Belangrijkste instellingen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__main_exception_id +msgid "Main Exception" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backorders +msgid "Manage Inventory Backorders" +msgstr "Beheer voorraad backorders" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Manage Stock" +msgstr "Beheer vororaad" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__manage_stock +msgid "Manage Stock Level" +msgstr "Beheer vororaad" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__service_type +msgid "" +"Manually set quantities on order: Invoice based on the manually entered " +"quantity, without creating an analytic account.\n" +"Timesheets on contract: Invoice based on the tracked hours on the related " +"timesheet.\n" +"Create a task and track hours: Create a task on the sales order validation " +"and track the work hours." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_medium +msgid "" +"Medium-sized image of this contact. It is automatically resized as a " +"128x128px image, with aspect ratio preserved. Use this field in form views " +"or some kanban views." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn_msg +#, fuzzy +msgid "Message for Invoice" +msgstr "Magento factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn_msg +#, fuzzy +msgid "Message for Sales Order" +msgstr "Magento verkooporder" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn_msg +#, fuzzy +msgid "Message for Sales Order Line" +msgstr "Magento verkooporderregel" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn_msg +#, fuzzy +msgid "Message for Stock Picking" +msgstr "Uitgaande levering" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_ids +msgid "Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "Method to update delivered qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__orderpoint_ids +msgid "Minimum Stock Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__mobile +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__mobile +msgid "Mobile" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "Move Entire Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__name +msgid "Name" +msgstr "Naam" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signed_by +msgid "Name of the person that signed the SO." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__need_cancel +msgid "Need to be canceled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__newsletter +msgid "Newsletter" +msgstr "Nieuwsbrief" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next +msgid "Next Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next_prefix +msgid "Next Number Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "No Sales Order Synchronization" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "No Sell" +msgstr "Niet verkocht" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__no_stock_sync +msgid "No Stock Synchronization" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/queue_job/common.py:26 +#, python-format +msgid "" +"No admin URL configured on the backend or no admin path is defined for this " +"record." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:79 +#, python-format +msgid "No tracking number to send." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__notes +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__note +msgid "Notes" +msgstr "Notities" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:364 +#: code:addons/connector_magento/components/exporter.py:369 +#, python-format +msgid "Nothing to export." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__number +msgid "Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__customer_lead +msgid "" +"Number of days between the order confirmation and the shipping of the " +"products to the customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__odoo_id +msgid "Odoo Product" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#, fuzzy +msgid "" +"Once imported,\n" +" some types of records,\n" +" like the products or categories,\n" +" need a manual review.\n" +" You will find the list\n" +" of the new records to review\n" +" in the menu 'Connectors > Checkpoint'." +msgstr "" +"Wanneer geïmporteerd,\n" +" hebben sommige soorten regels,\n" +" zoals de producten of categorieën,\n" +" een handmatige controle nodig.\n" +" U vindt de lijst van nieuwe regels\n" +" welke dienen te worden gecontroleerd\n" +" in het menu 'Connectors > " +"Controlepunten'." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_payment +msgid "Online Payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_signature +msgid "Online Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__verify_ssl +msgid "Only for Magento 2.0+" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_id +msgid "Operation Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids +msgid "Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids_without_package +msgid "Operations without package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_option_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sale_order_option_ids +msgid "Optional Products Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Options" +msgstr "Opties" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__date_order +msgid "Order Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__order_line +#, fuzzy +msgid "Order Lines" +msgstr "Verkooporderregel" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_id +msgid "Order Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__state +msgid "Order Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom_qty +msgid "Ordered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__invoice_policy +msgid "" +"Ordered Quantity: Invoice quantities ordered by the customer.\n" +"Delivered Quantity: Invoice quantities delivered to the customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__outgoing_qty +msgid "Outgoing" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__outstanding_credits_debits_widget +msgid "Outstanding Credits Debits Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__owner_id +msgid "Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_packaging +msgid "Package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids +msgid "Package Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids_details +msgid "Package Level Ids Details" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_ids +msgid "Packages" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reconciled +msgid "Paid/Reconciled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_id +#, fuzzy +msgid "Parent Category" +msgstr "Relatiecategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_parent_id +msgid "Parent Magento Order" +msgstr "Bovenliggende Mageto order" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_id +#, fuzzy +msgid "Parent Order" +msgstr "Bovenliggende Mageto order" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_path +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_path +msgid "Parent Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_name +msgid "Parent name" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Partial" +msgstr "Gedeeltelijk" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__partner_id +msgid "Partner" +msgstr "Relatie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__odoo_id +msgid "Partner Category" +msgstr "Relatiecategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contract_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__partner_ids +#, fuzzy +msgid "Partners" +msgstr "Relatie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__password +msgid "Password" +msgstr "Wachtwoord" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_mode_id +#, fuzzy +msgid "Payment Mode" +msgstr "Bovenliggende Mageto order" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_payment_mode +#, fuzzy +msgid "Payment Modes" +msgstr "Bovenliggende Mageto order" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_move_line_ids +#, fuzzy +msgid "Payment Move Lines" +msgstr "Magento orderregels" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reference +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__reference +msgid "Payment Ref." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_term_id +msgid "Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_ids +msgid "Payment Tokens" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_ids +msgid "Payments" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payments_widget +msgid "Payments Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__phone +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__phone +msgid "Phone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_method +msgid "Picking Method" +msgstr "Verzamelmethode" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price +msgid "Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce +msgid "Price Reduce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxexcl +msgid "Price Reduce Tax excl" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxinc +msgid "Price Reduce Tax inc" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__list_price +msgid "Price at which the product is sold to customers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_item_ids +msgid "Pricelist Item" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__item_ids +msgid "Pricelist Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__catalog_price_tax_included +msgid "Prices include tax" +msgstr "Prijzen incl. BTW" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_id +#, fuzzy +msgid "Pricing/Primary Category" +msgstr "Relatiecategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__printed +msgid "Printed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__priority +msgid "Priority" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__priority +msgid "" +"Priority for this picking. Setting manually a value here would set it as " +"priority for all the moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__procurement_group_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__group_id +msgid "Procurement Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_product +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__product_id +msgid "Product" +msgstr "Product" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_line_ids +msgid "Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_category +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__odoo_id +msgid "Product Category" +msgstr "Productcategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_image +msgid "Product Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__packaging_ids +msgid "Product Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_tmpl_id +#, fuzzy +msgid "Product Template" +msgstr "Productcategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__type +#, fuzzy +msgid "Product Type" +msgstr "Magento productsoort" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_no_variant_attribute_value_ids +msgid "Product attribute values that do not create variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_production +#, fuzzy +msgid "Production Location" +msgstr "Productcategorie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_ids +#, fuzzy +msgid "Products" +msgstr "Product" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__delivery_type +msgid "Provider" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_purchase +#, fuzzy +msgid "Purchase Description" +msgstr "Beschrijving" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_po_id +msgid "Purchase Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_at_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_qty +#, fuzzy +msgid "Quantity" +msgstr "Berekende hoeveelheid" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_available +#, fuzzy +msgid "Quantity On Hand" +msgstr "Verkoop hoeveelheid< 0" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__incoming_qty +msgid "" +"Quantity of planned incoming products.\n" +"In a context with a single Stock Location, this includes goods arriving to " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods arriving to the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods arriving to any Stock Location with " +"'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__outgoing_qty +msgid "" +"Quantity of planned outgoing products.\n" +"In a context with a single Stock Location, this includes goods leaving this " +"Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods leaving the Stock " +"Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods leaving any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_template_id +msgid "Quotation Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__expense_policy +msgid "Re-Invoice Policy" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Read Binding information from backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.magento_binding_backend_read_act_window +msgid "Read information from backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/deleter.py:20 +#, python-format +msgid "Record %s deleted on Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:191 +#, python-format +msgid "Record does no longer exist in Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:371 +#, python-format +msgid "Record exported with ID %s on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__name +msgid "Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__origin +msgid "Reference of the document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__origin +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__origin +msgid "Reference of the document that produced this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__name +#, fuzzy +msgid "Reference/Description" +msgstr "Beschrijving" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_ids +msgid "Refund Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_id +#, fuzzy +msgid "Related Company" +msgstr "Bedrijf" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__related_backorder_ids +msgid "Related backorders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__remaining_validity_days +msgid "Remaining Validity Days" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Remaining amount due in the currency of the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_signed +msgid "Remaining amount due in the currency of the invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual +msgid "Remaining amount due." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:136 +#, python-format +msgid "Reopen sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_max_qty +msgid "Reordering Max Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_min_qty +msgid "Reordering Min Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__nbr_reordering_rules +msgid "Reordering Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_signature +msgid "" +"Request a online signature to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_payment +msgid "" +"Request an online payment to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__responsible_id +msgid "Responsible" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__route_id +msgid "Route" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__route_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_ids +msgid "Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_sale +#, fuzzy +msgid "Sale Description" +msgstr "Beschrijving" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__odoo_id +msgid "Sale Order" +msgstr "Verkooporder" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__odoo_id +msgid "Sale Order Line" +msgstr "Verkooporderregel" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__sale_prefix +msgid "Sale Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__lst_price +#, fuzzy +msgid "Sale Price" +msgstr "Verkooporder" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__workflow_process_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__workflow_process_id +msgid "Sale Workflow Process" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:53 +#, python-format +msgid "Sale is not linked with a Magento sales order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sale_id +msgid "Sales Order" +msgstr "Verkooporder" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order_line +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn +msgid "Sales Order Line" +msgstr "Verkooporderregel" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__list_price +msgid "Sales Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__team_id +msgid "Sales Team" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__salesman_id +#, fuzzy +msgid "Salesperson" +msgstr "Verkooporder" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__scheduled_date +msgid "" +"Scheduled time for the first part of the shipment to be processed. Setting " +"manually a value here would set it as expected date for all the stock moves." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_token +msgid "Security Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__categ_id +msgid "Select category for the current product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_line_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__sale_warn +msgid "" +"Selecting the \"Warning\" option will notify user with the message, " +"Selecting \"Blocking Message\" will throw an exception with the message and " +"block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__self +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__self +msgid "Self" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0" +msgstr "Verkoop hoeveelheid< 0" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0 and Use Customer Notification" +msgstr "Verkoop hoeveelheden < 0 en gebruik klant notificatie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Send email notification on invoice validated/paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_picking_done_mail +msgid "Send email notification on picking done" +msgstr "Stuur e-mail bevestiging als de uitgaande levering gereed is" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sent +msgid "Sent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sequence +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sequence +msgid "Sequence" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__removal_strategy_id +msgid "" +"Set a specific removal strategy that will be used regardless of the source " +"location for this product category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_share +#, fuzzy +msgid "Share Partner" +msgstr "Magento relatie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_price +msgid "Shipping Cost" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:24 +#, python-format +msgid "Shipping Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_policy +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_type +msgid "Shipping Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_account_payment_mode__create_invoice_on +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"If nothing is set, the option falls back to the same option on the Magento " +"store related to the sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__create_invoice_on +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"This only takes effect if the sales order's related payment method is not " +"giving an option for this by itself. (See Payment Methods)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Show Check Availability" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_lots_text +msgid "Show Lots Text" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Show Mark As Todo" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_operations +msgid "Show Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_validate +msgid "Show Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signature +msgid "Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signature +msgid "Signature received through the portal." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signed_by +msgid "Signed by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_expiration +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_token +msgid "Signup Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_valid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_url +msgid "Signup URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_small +msgid "" +"Small-sized image of this contact. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sales_count +msgid "Sold" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sort_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sort_order +msgid "Sort Order" +msgstr "Sorteervolgorde" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__origin +msgid "Source Document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__source_email +msgid "Source Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_id +msgid "Source Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_account_analytic_id +msgid "Specific analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "Specific fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_warehouse_id +msgid "Specific warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__hs_code +msgid "" +"Standardized code for international shipping and goods declaration. At the " +"moment, only used for the FedEx shipping provider." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__state_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__state_id +msgid "State" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:50 +#, python-format +msgid "State %s is not exported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__state +msgid "Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_stock_field_id +msgid "Stock Field" +msgstr "Voorraad veld" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_manual_move_ids +msgid "Stock Fifo Manual Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_real_time_aml_ids +msgid "Stock Fifo Real Time Aml" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_input +msgid "Stock Input Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_journal +msgid "Stock Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_move_ids +msgid "Stock Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__move_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_lines +#, fuzzy +msgid "Stock Moves" +msgstr "Voorraad veld" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_output +msgid "Stock Output Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__odoo_id +msgid "Stock Picking" +msgstr "Uitgaande levering" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Stock Quant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "Stock Valuation Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value_currency_id +msgid "Stock Value Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_ids_without_package +msgid "Stock moves not in package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__store_id +msgid "Store" +msgstr "Winkel" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__store_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Stores" +msgstr "Winkels" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__store_id +#, fuzzy +msgid "Storeview" +msgstr "Winkelweergaven" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__storeview_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_storeview +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +msgid "Storeviews" +msgstr "Winkelweergaven" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street +msgid "Street" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street2 +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street2 +msgid "Street2" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Supplier Payment Mode" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Synchronize Metadata" +msgstr "Synchroniseer metadata" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__name +#, fuzzy +msgid "Tag Name" +msgstr "Naam" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__category_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__category_id +msgid "Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax +msgid "Tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__tax_class_id +msgid "Tax Class ID" +msgstr "BTW Class ID" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__vat +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__vat +msgid "Tax ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__tax_line_ids +msgid "Tax Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_rate +msgid "Tax Rate" +msgstr "BTW tarief" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_by_group +msgid "Tax amount by group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax groups are used with some external system like Prestashop" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax_signed +msgid "Tax in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_tax +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_id +msgid "Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_archived_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_existing_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Technical compute" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__display_type +msgid "Technical field for UX purpose." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_name +msgid "" +"Technical field holding the number given to the invoice, automatically set " +"when the invoice is validated then stored to set the same number again if " +"the invoice is cancelled, set to draft and re-validated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_check_availability +msgid "" +"Technical field used to compute whether the check availability button should " +"be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "" +"Technical field used to compute whether the mark as todo button should be " +"shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_validate +msgid "Technical field used to compute whether the validate should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__pricelist_id +msgid "" +"Technical field. Used for searching on pricelists, not stored in database." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_move_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_quant_ids +#, fuzzy +msgid "Technical: used to compute quantities." +msgstr "" +"Het magazijn dat wordt gebruikt om de hoeveelheid op voorraad te berekenen" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_template_attribute_value_ids +msgid "Template Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__note +msgid "Terms and conditions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__vat +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount +#, fuzzy +msgid "" +"The amount computed in Odoo doesn't match with the amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" +"Het bedrag berekend in OpenERP komt niet overeen met het bedrag in Magento " +"in Magento.\n" +"\n" +"Oorzaak:\n" +"De BTW tarieven zijn mogelijk verschillend in OpenERP en Magento of een " +"fiscale positie heeft de uiteindelijke prijs veranderd.\n" +"\n" +"Oplossing:\n" +"Controleer de BTW tarieven en de fiscale posities en corrigeer deze indien " +"nodig.." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__analytic_account_id +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:76 +#, python-format +msgid "The carrier %s does not export tracking numbers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__commercial_partner_id +msgid "" +"The commercial entity that will be used on Journal Entries for this invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__company_id +msgid "The company is automatically set from your user preferences." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/importer.py:328 +#, python-format +msgid "" +"The configurable product is not imported in Odoo, because only the simple " +"products are used in the sales orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_custom_api_path +msgid "" +"The default API path is '/index.php/api/xmlrpc'. Check this box if you use a " +"custom API path, in that case, the location has to be completed with the " +"custom API path " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_expense_categ_id +msgid "" +"The expense is accounted for when a vendor bill is validated, except in " +"anglo-saxon accounting with perpetual inventory valuation in which case the " +"expense (Cost of Goods Sold account) is recognized at the customer invoice " +"validation." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_position_id +msgid "" +"The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__name +msgid "The name that will be used on account move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__product_count +msgid "" +"The number of products under this category (Does not consider the children " +"categories)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__account_id +msgid "The partner account used for this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "" +"The partner has at least one unreconciled debit and credit since last time " +"the invoices & payments matching was performed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__tz +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__tz +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__reference +msgid "The payment communication of this sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reference +msgid "" +"The payment communication that will be automatically populated once the " +"invoice validation. You can also write a free communication." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__currency_rate +msgid "" +"The rate of the currency to the currency of rate 1 applicable at the date of " +"the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__lst_price +msgid "" +"The sale price is managed from the product template. Click on the 'Configure " +"Variants' button to set the extra attribute prices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_customer +msgid "" +"The stock location used as destination when sending goods to this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "" +"The stock location used as source when receiving goods from this contact." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount_tax +#, fuzzy +msgid "" +"The tax amount computed in Odoo doesn't match with the tax amount in " +"Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" +"Het BTW bedrag berekend in OpenERP komt niet overeen met het BTW bedrag in " +"Magento in Magento.\n" +"\n" +"Oorzaak:\n" +"De BTW tarieven zijn mogelijk verschillend in OpenERP en Magento of een " +"fiscale positie heeft de uiteindelijke prijs veranderd.\n" +"\n" +"Oplossing:\n" +"Controleer de BTW tarieven en de fiscale posities en corrigeer deze indien " +"nodig.." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__volume +msgid "The volume in m3." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:41 +#, python-format +msgid "The wizard must be launched from a magento backend model" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:45 +#, python-format +msgid "The wizard must be launched on a single magento backend instance" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "" +"This account will be used instead of the default one as the payable account " +"for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "" +"This account will be used instead of the default one as the receivable " +"account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_income_categ_id +msgid "This account will be used when validating a customer invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_variant +msgid "" +"This field holds the image used as image for the product variant, limited to " +"1024x1024px." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__commitment_date +msgid "" +"This is the delivery date promised to the customer. If set, the delivery " +"order will be scheduled based on this date rather than product lead times." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__price_extra +msgid "This is the sum of the extra price of all attributes" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "" +"This option should respect the same\n" +" configuration as Magento. Pay\n" +" attention to the taxes on the products,\n" +" which should surely include prices when\n" +" this option is activated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "" +"This payment term will be used instead of the default one for purchase " +"orders and vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "" +"This payment term will be used instead of the default one for sales orders " +"and customer invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_production +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated by manufacturing orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_inventory +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated when you do an inventory." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__responsible_id +msgid "" +"This user will be responsible of the next activities related to logistic " +"operations for this product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz +msgid "Timezone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz_offset +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__title +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__title +msgid "Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_to_invoice +msgid "To Invoice Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__token +msgid "Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_total +msgid "Total" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount +msgid "Total Amount differs from Magento" +msgstr "Totalbedrag wijkt af van Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__total_invoiced +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__total_invoiced +#, fuzzy +msgid "Total Invoiced" +msgstr "Standaard factuur" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit +msgid "Total Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit +msgid "Total Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_tax +msgid "Total Tax" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount_tax +msgid "Total Tax Amount differs from Magento" +msgstr "Totaal BTW bedrag wijkt af van Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount +msgid "Total amount" +msgstr "Totaalbedrag" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total amount in the currency of the company, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total amount in the currency of the invoice, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__credit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount_tax +msgid "Total amount w. tax" +msgstr "Totaalbedrag excl. BTW" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__debit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__total_route_ids +#, fuzzy +msgid "Total routes" +msgstr "Totaalbedrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__service_type +msgid "Track Service" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tracking +msgid "Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_ref +msgid "Tracking Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_url +msgid "Tracking URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__transaction_ids +msgid "Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__type +msgid "Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__type_name +msgid "Type Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_code +msgid "Type of Operation" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_website/importer.py:21 +#, python-format +msgid "Undefined" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_name +msgid "Unit of Measure Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of measurement for Weight" +msgstr "" + +#. module: connector_magento +#: model:product.product,uom_name:connector_magento.product_product_rewards +#: model:product.product,uom_name:connector_magento.product_product_store_credit +#: model:product.template,uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,uom_name:connector_magento.product_product_store_credit_product_template +msgid "Unit(s)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_untaxed +#, fuzzy +msgid "Untaxed Amount" +msgstr "Totaalbedrag" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_to_invoice +msgid "Untaxed Amount To Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_signed +msgid "Untaxed Amount in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_invoice_signed +msgid "Untaxed Amount in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_invoiced +msgid "Untaxed Invoiced Amount" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update" +msgstr "Bijwerken" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update all the products stock quantities" +msgstr "Bijwerken voorraad van alle producten" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__updated_at +msgid "Updated At (on Magento)" +msgstr "Bijgewerkt op (in Magento)" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__location +msgid "Url to magento application" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +#: selection:magento.product.product,manage_stock:0 +msgid "Use Default Config" +msgstr "Gebruik standaard configuratie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_auth_basic +msgid "Use HTTP Auth Basic" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_auth_basic +msgid "" +"Use a Basic Access Authentication for the API. The Magento server could be " +"configured to restrict access using a HTTP authentication based on a " +"username and a password." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__type +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__type +msgid "" +"Used by Sales and Purchase Apps to select the relevant address depending on " +"the context." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_custom_attribute_value_ids +msgid "User entered custom product attribute values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__username +msgid "Username" +msgstr "Gebruikersnaam" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_ids +#, fuzzy +msgid "Users" +msgstr "Gebruikersnaam" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_archived_variant_ids +msgid "Valid Archived Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_existing_variant_ids +msgid "Valid Existing Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +msgid "Valid Product Attribute Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Valid Product Attribute Lines Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +msgid "Valid Product Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +msgid "Valid Product Attribute Values Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_ids +msgid "Valid Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +msgid "Valid Product Attributes Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__validity_date +msgid "Validity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__validity_date +msgid "" +"Validity date of the quotation, after this date, the customer won't be able " +"to validate the quotation online." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valuation +msgid "Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value +msgid "Value" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_variant +msgid "Variant Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price_extra +msgid "Variant Price Extra" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__variant_seller_ids +msgid "Variant Seller" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Vendor Bill" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_display_name +msgid "Vendor Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_supplier +#, fuzzy +msgid "Vendor Location" +msgstr "Locatie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Vendor Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__seller_ids +msgid "Vendors" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__verify_ssl +msgid "Verify SSL certificate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__version +msgid "Version" +msgstr "Versie" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__volume +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__volume +msgid "Volume" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__warehouse_id +msgid "Warehouse" +msgstr "Magazijn" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__warehouse_id +msgid "Warehouse used to compute the stock quantities." +msgstr "" +"Het magazijn dat wordt gebruikt om de hoeveelheid op voorraad te berekenen" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/common.py:188 +#, python-format +msgid "" +"We have to import the product before we can provide the admin link to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__password +msgid "Webservice password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__username +msgid "Webservice user" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__website_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website +msgid "Website" +msgstr "Website" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_website +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Websites" +msgstr "Websites" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight +msgid "Weight" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_id +msgid "Weight Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__shipping_weight +#, fuzzy +msgid "Weight for Shipping" +msgstr "Standaard verzending" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__weight +msgid "" +"Weight of the product, packaging not included. The unit of measure can be " +"changed in the general settings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_name +msgid "Weight unit of measure label" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. This is the default " +"value for all products in this category. It can also directly be set on each " +"product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_input +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. When not set on the " +"product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. This is the " +"default value for all products in this category. It can also directly be set " +"on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_output +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. When not set on " +"the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_journal +msgid "" +"When doing real-time inventory valuation, this is the Accounting Journal in " +"which entries will be automatically posted when stock moves are processed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "" +"When real-time inventory valuation is enabled on a product, this account " +"will hold the current value of the products." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__is_locked +msgid "" +"When the picking is not done this allows changing the initial demand. When " +"the picking is done this allows changing the done quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_id +msgid "You can find a contact by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "You can find a customer by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__zip +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__zip +msgid "Zip" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "choose" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__import_orders_from_date +msgid "" +"do not consider non-imported sale orders before this date. Leave empty to " +"import all sale orders" +msgstr "" +"Houdt geen rekening met de niet geïmporteerde verkooporders voor deze datum. " +"Laat leeg om alle verkooporders importeren" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com" +msgstr "Bijv. http://my.magento.com" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com/admin" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +#, fuzzy +msgid "get" +msgstr "Magento" + +#. module: connector_magento +#: model:product.product,weight_uom_name:connector_magento.product_product_rewards +#: model:product.product,weight_uom_name:connector_magento.product_product_store_credit +#: model:product.template,weight_uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,weight_uom_name:connector_magento.product_product_store_credit_product_template +msgid "kg" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "mag-" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner_category +#, fuzzy +msgid "magento.res.partner.category" +msgstr "Magento bovenliggende categorie" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__amount_by_group +msgid "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__warehouse_id +#, fuzzy +msgid "warehouse" +msgstr "Magazijn" + +#, fuzzy +#~ msgid "# of Invoices" +#~ msgstr "Factuur" + +#, fuzzy +#~ msgid "# of Sales Order" +#~ msgstr "Verkooporder" + +#, fuzzy +#~ msgid "Can Edit Delivered" +#~ msgstr "Magento uitgaande levering" + +#, fuzzy +#~ msgid "Invoiced" +#~ msgstr "Factuur" + +#, fuzzy +#~ msgid "Magento backend id" +#~ msgstr "Magento backend" + +#, fuzzy +#~ msgid "Magento binding model" +#~ msgstr "Magento koppelingen" + +#, fuzzy +#~ msgid "Picking Type" +#~ msgstr "Verzamelmethode" + +#, fuzzy +#~ msgid "Section" +#~ msgstr "Beschrijving" + +#, fuzzy +#~ msgid "Stock move ids" +#~ msgstr "Voorraad veld" + +#, fuzzy +#~ msgid "Stock quant ids" +#~ msgstr "Voorraad veld" + +#, fuzzy +#~ msgid "To Invoice" +#~ msgstr "Factuur" + +#~ msgid "Export Partners to Magento (experimental)" +#~ msgstr "Exporteer relaties naar Magento" + +#~ msgid "Extensions" +#~ msgstr "Extensies" + +#~ msgid "Magentoerpconnect" +#~ msgstr "Magentoerpconnect" + +#~ msgid "Picking List" +#~ msgstr "Verzamellijst" + +#~ msgid "Prices are managed in OpenERP with pricelists" +#~ msgstr "Prijzen worden beheert in OpenERP door middel van prijslijsten" + +#~ msgid "" +#~ "Prices are set in OpenERP and exported to Magento.\n" +#~ "\n" +#~ "This installs the module connector_magento_pricing." +#~ msgstr "" +#~ "Prijzen worden ingesteld in OpenERP en geëxporteerd naar Magento.\n" +#~ "\n" +#~ "Dit installeert de module connector_magento_pricing." + +#~ msgid "This installs the module connector_magento_export_partner." +#~ msgstr "Dit installeert de module connector_magento_export_partner." diff --git a/connector_magento/i18n/pt_BR.po b/connector_magento/i18n/pt_BR.po new file mode 100644 index 000000000..35ca5ffd3 --- /dev/null +++ b/connector_magento/i18n/pt_BR.po @@ -0,0 +1,5213 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * connector_magento +# +# Translators: +# Gustavo Lepri , 2015 +msgid "" +msgstr "" +"Project-Id-Version: connector-magento (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-09 15:28+0000\n" +"PO-Revision-Date: 2015-09-17 01:20+0000\n" +"Last-Translator: Gustavo Lepri \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-" +"connector-magento-8-0/language/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__state +msgid "" +" * Draft: not confirmed yet and will not be scheduled until confirmed.\n" +" * Waiting Another Operation: waiting for another move to proceed before it " +"becomes automatically available (e.g. in Make-To-Order flows).\n" +" * Waiting: if it is not ready to be sent because the required products " +"could not be reserved.\n" +" * Ready: products are reserved and ready to be sent. If the shipping policy " +"is 'As soon as possible' this happens as soon as anything is reserved.\n" +" * Done: has been processed, can't be modified or cancelled anymore.\n" +" * Cancelled: has been cancelled, can't be confirmed anymore." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__state +msgid "" +" * The 'Draft' status is used when a user is encoding a new and unconfirmed " +"Invoice.\n" +" * The 'Open' status is used when user creates invoice, an invoice number is " +"generated. It stays in the open status till the user pays the invoice.\n" +" * The 'In Payment' status is used when payments have been registered for " +"the entirety of the invoice in a journal configured to post entries at bank " +"reconciliation only, and some of them haven't been reconciled with a bank " +"statement line yet.\n" +" * The 'Paid' status is set automatically when the invoice is paid. Its " +"related journal entries may or may not be reconciled.\n" +" * The 'Cancelled' status is used when user cancel invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_count +msgid "# Product Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__product_count +msgid "# Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__magento_order_id +msgid "'order_id' field in Magento" +msgstr "Campo 'order_id' no Magento" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "(recompute)" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +msgid "A Magento binding for this invoice already exists." +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.backend:0 +msgid "A backend with the same sale prefix already exists" +msgstr "Um backend com o mesmo prefixo de venda já existe" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 sql_constraint:magento.address:0 +#: sql_constraint:magento.binding:0 sql_constraint:magento.product.category:0 +#: sql_constraint:magento.product.product:0 +#: sql_constraint:magento.res.partner:0 +#: sql_constraint:magento.res.partner.category:0 +#: sql_constraint:magento.sale.order:0 sql_constraint:magento.sale.order.line:0 +#: sql_constraint:magento.stock.picking:0 sql_constraint:magento.store:0 +#: sql_constraint:magento.storeview:0 sql_constraint:magento.website:0 +msgid "A binding already exists with the same Magento ID." +msgstr "Já existe uma ligação com o mesmo Magento ID." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__description_sale +msgid "" +"A description of the Product that you want to communicate to your customers. " +"This description will be copied to every Sales Order, Delivery Order and " +"Customer Invoice/Credit Note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "" +"A parent sales order has been canceled on the backend and needs to be " +"canceled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_id +msgid "A parent sales order is a sales order replaced by this one." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order needs cancel" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.address:0 +msgid "A partner address can only have one binding by backend." +msgstr "Um endereço de parceiro pode ter apenas uma ligação por backend." + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__sale_prefix +msgid "" +"A prefix put before the name of imported sales orders.\n" +"For instance, if the prefix is 'mag-', the sales order 100000692 in Magento, " +"will be named 'mag-100000692' in Odoo." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "API" +msgstr "API" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_warning +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_warning +msgid "Access warning" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "" +"According to product configuration, the delivered quantity can be " +"automatically computed by mechanism :\n" +" - Manual: the quantity is set manually on the line\n" +" - Analytic From expenses: the quantity is the quantity sum from posted " +"expenses\n" +" - Timesheet: the quantity is the sum of hours recorded on tasks linked to " +"this sale line\n" +" - Stock Moves: the quantity comes from confirmed pickings\n" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__account_id +msgid "Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date +msgid "Accounting Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__bank_account_required +msgid "" +"Activate this option if this payment method requires you to know the bank " +"account number of your customer or supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__active +msgid "Active" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_ids +msgid "Activities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_state +msgid "Activity State" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__comment +msgid "Additional Information" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__additional_info +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__additional_info +msgid "Additional info" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__type +msgid "Address Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_magento_order_address +msgid "Address from a Magento Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__admin_location +msgid "Admin Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Advanced Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__all_qty_delivered +msgid "All quantities delivered" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__lang +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this " +"language." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:76 +#, python-format +msgid "Already exported" +msgstr "Já exportado" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/importer.py:374 +#, python-format +msgid "Already imported" +msgstr "Já importado" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:200 +#, python-format +msgid "Already up-to-date." +msgstr "Já atualizado." + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_undiscounted +msgid "Amount Before Discount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual +msgid "Amount Due" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Amount Due in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_signed +msgid "Amount Due in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__consider_as_company +msgid "" +"An account imported with a 'company' in the billing address is considered as " +"a company.\n" +" The partner takes the name of the company and is not merged with the " +"billing address." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__account_analytic_id +msgid "Analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_line_ids +msgid "Analytic lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__token +msgid "" +"Authentication token for Magento 2.0+. See https://devdocs. magento.com/" +"guides/v2.3/get-started/authentication/gs-authentication-token.html" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__authorized_transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__authorized_transaction_ids +msgid "Authorized Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Auto-complete from a past bill." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__workflow_process_id +msgid "Automatic Workflow" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__available_carrier_ids +msgid "Available Carriers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_id +msgid "Back Order of" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_ids +msgid "Back Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_backend +msgid "Backends" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_account_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_account_count +msgid "Bank" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "" +"Bank Account Number to which the invoice will be paid. A Company bank " +"account if this is a Customer Invoice or Vendor Credit Note, otherwise a " +"Partner bank account number." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Bank Account Required" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_ids +msgid "Banks" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__barcode +msgid "Barcode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__base_media_url +msgid "Base Media Url" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__base_media_url +msgid "" +"Base URL to retrieve product images. Used for Magento2 only. For example: " +"http://magento/media" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic Auth. Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic Auth. Username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic access authentication web server side password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic access authentication web server side username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image +msgid "Big-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__birthday +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_users__birthday +msgid "Birthday" +msgstr "Aniversário" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_bounce +msgid "Bounce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_bulk +msgid "Bulk Weight" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "" +"By clicking on the buttons,\n" +" you will initiate the synchronizations\n" +" with Magento.\n" +" Note that the import or exports\n" +" won't be done directly,\n" +" they will create 'Jobs'\n" +" executed as soon as possible." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_updatable +msgid "Can Edit Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__purchase_ok +msgid "Can be Purchased" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__rental +msgid "Can be Rent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_ok +msgid "Can be Sold" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Cancel" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:113 +#, python-format +msgid "Cancel sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__canceled_in_backend +msgid "Canceled in backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:71 +#, python-format +msgid "" +"Canceled: the delivery order does not contain lines from the original sale " +"order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__cancellation_resolved +msgid "Cancellation from the backend resolved" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_id +msgid "Carrier" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Cash Rounding Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_from_categ_ids +msgid "Category Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__channel_ids +msgid "Channels" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "" +"Check if the storeview is active in Magento but its sales orders should not " +"be imported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__has_packages +msgid "Check the existence of destination packages on move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Check the existence of pack operation on the picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer +msgid "" +"Check this box if this contact is a customer. It can be selected in sales " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier +msgid "" +"Check this box if this contact is a vendor. It can be selected in purchase " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__employee +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__no_stock_sync +msgid "Check this to exclude the product from stock synchronizations." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_backend/common.py:246 +#, python-format +msgid "" +"Check your configuration, we can't get the data. Here is the error:\n" +"%s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__child_id +msgid "Child Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__child_ids +msgid "Child Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__product_stock_field_id +msgid "" +"Choose the field of the product which will be used for stock inventory " +"updates.\n" +"If empty, Quantity Available is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__city +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__city +msgid "City" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Close" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__code +msgid "Code" +msgstr "Código" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__color +msgid "Color Index" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__commitment_date +msgid "Commitment Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref_company_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__company_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Company" +msgstr "Empresa" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_currency_id +#, fuzzy +msgid "Company Currency" +msgstr "Empresa" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_name +#, fuzzy +msgid "Company Name" +msgstr "Empresa" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_company_name +msgid "Company Name Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_type +#, fuzzy +msgid "Company Type" +msgstr "Empresa" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_gid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_users__company +msgid "Company name (in Magento)" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Complete" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contact_address +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contact_address +#, fuzzy +msgid "Complete Address" +msgstr "Endereço de e-mail" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__complete_name +msgid "Complete Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__effective_date +msgid "Completion date of the first delivery order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_qty +msgid "Computed Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__confirmation_date +msgid "Confirmation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__consider_as_company +msgid "Considered as company" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner +msgid "Contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__child_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__child_ids +msgid "Contacts" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contracts_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__standard_price +msgid "Cost" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_currency_id +msgid "Cost Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_method +msgid "Cost Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__standard_price +msgid "" +"Cost used for stock valuation in standard price and as a first price to set " +"in average/fifo. Also used as a base price for pricelists. Expressed in the " +"default unit of measure of the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_cost_method +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_cost_method +msgid "Costing Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__country_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__country_id +msgid "Country" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +msgid "Create invoice on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_payment_mode__create_invoice_on +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_invoice_on +msgid "Create invoice on action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__created_at +msgid "Created At (on Magento)" +msgstr "Criado em (no Magento)" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date +#, fuzzy +msgid "Creation Date" +msgstr "Criado em" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date +msgid "Creation Date, usually the time of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__currency_id +msgid "Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__qty_available +msgid "" +"Current quantity of products.\n" +"In a context with a single Stock Location, this includes goods stored at " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"stored in the Stock Location of the Warehouse of this Shop, or any of its " +"children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_custom_api_path +msgid "Custom Api Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_delay +msgid "Customer Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_customer +msgid "Customer Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Customer Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__partner_ref +msgid "Customer Ref" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__client_order_ref +msgid "Customer Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__taxes_id +msgid "Customer Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__date +msgid "Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date_done +msgid "Date at which the transfer has been processed or cancelled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date_done +msgid "Date of Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__confirmation_date +msgid "Date on which the sales order is confirmed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_billing +msgid "Default Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_lang_id +msgid "Default Language" +msgstr "Idioma padrão" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__owner_id +#, fuzzy +msgid "Default Owner" +msgstr "Idioma padrão" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_category_id +msgid "Default Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_shipping +msgid "Default Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Default taxes used when buying the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__taxes_id +msgid "Default taxes used when selling the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_id +msgid "Default unit of measure used for all stock operations." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_po_id +msgid "" +"Default unit of measure used for purchase orders. It must be in the same " +"category as the default unit of measure." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__seller_ids +msgid "Define vendor pricelists." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "" +"Defines the smallest coinage of the currency that can be used to pay by cash." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__trust +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_manual +msgid "Delivered Manually" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered +msgid "Delivered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_shipping_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Delivery Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_message +msgid "Delivery Message" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_count +msgid "Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_rating_success +msgid "Delivery Rating Success" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__expected_date +msgid "" +"Delivery date you can promise to the customer, computed from product lead " +"times and from the shipping policy of the order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_delay +msgid "" +"Delivery lead time, in days. It's the number of days, promised to the " +"customer, between the confirmation of the sales order and the delivery." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__route_ids +msgid "" +"Depending on the modules installed, this will allow you to define the route " +"of the product: whether it will be bought, manufactured, MTO, etc." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__name +msgid "Description" +msgstr "Descrição" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingout +msgid "Description on Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_picking +#, fuzzy +msgid "Description on Picking" +msgstr "Descrição" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingin +msgid "Description on Receptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_dest_id +msgid "Destination Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__display_name +msgid "Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_type +msgid "Display Type" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Do Not Manage Stock" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "" +"Does the invoice export/creation should send an email notification on " +"Magento side?" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_picking_done_mail +msgid "" +"Does the picking export/creation should send an email notification on " +"Magento side?" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "" +"Down payments are made when creating invoices from a sales order. They are " +"not copied when duplicating a sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_due +msgid "Due Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__emailid +msgid "E-mail address" +msgstr "Endereço de e-mail" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__effective_date +msgid "Effective Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email +msgid "Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__employee +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__employee +msgid "Employee" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__enabled +msgid "Enabled" +msgstr "Habilitado" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tracking +msgid "Ensure the traceability of a storable product in your warehouse." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_price +msgid "Estimated Delivery Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exception_ids +#, fuzzy +msgid "Exceptions" +msgstr "Extensões" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exceptions_summary +msgid "Exceptions Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_expense_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Expense Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__expense_policy +msgid "" +"Expenses and vendor bills can be re-invoiced to a customer.With this option, " +"a validated expense can be re-invoice to a customer at its cost or sales " +"price." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_export_tracking +msgid "Export tracking numbers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_ids +msgid "Extra categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__data +msgid "File" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__name +msgid "File Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__carrier_id +msgid "Fill this field if you plan to invoice the shipping based on picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__fiscal_position_id +msgid "Fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Force Removal Strategy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__virtual_available +msgid "Forecast Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__virtual_available +msgid "" +"Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n" +"In a context with a single Stock Location, this includes goods stored in " +"this location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Get" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__packaging_ids +msgid "Gives the different ways to package the same product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sequence +msgid "Gives the sequence order when displaying a product list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__guest_customer +msgid "Guest Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hs_code +#, fuzzy +msgid "HS Code" +msgstr "Código" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "HTTP Authentication" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__has_checkpoint +msgid "Has Checkpoint" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__has_outstanding +msgid "Has Outstanding" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Has Pack Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_packages +msgid "Has Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_scrap_move +msgid "Has Scrap Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_tracking +msgid "Has Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__need_cancel +msgid "Has been canceled on the backend, need to be canceled." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Here is the file with information read drom the backend:" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hide_expense_policy +msgid "Hide Expense Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__id +msgid "ID" +msgstr "ID" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__external_id +msgid "ID on Magento" +msgstr "ID no Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__im_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__im_status +msgid "IM Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_category_id +msgid "" +"If a default category is selected, products imported without a category will " +"be linked to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_lang_id +msgid "" +"If a default language is selected, the records will be imported in the " +"translation of this language.\n" +"Note that a similar configuration exists for each storeview." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__team_id +msgid "" +"If set, this Sales Team will be used for sales and assignations related to " +"this partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "" +"If specified, this fiscal position will be used to fill the field fiscal " +"position on the sale order created by the connector.The value can also be " +"specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_warehouse_id +msgid "" +"If specified, this warehouse will be used to load fill the field warehouse " +"(and company) on the sale order created by the connector.The value can also " +"be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_website__is_multi_company +msgid "" +"If this flag is set, it is possible to choose warehouse at each level. When " +"import partner, ignore company_id if this flag is set." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__backorder_id +msgid "" +"If this shipment was split, then this field links to the shipment which " +"contains the already processed part." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "If ticked, you will be able to select entire packages to move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__active +msgid "" +"If unchecked, it will allow you to hide the product without removing it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__picking_policy +msgid "" +"If you deliver all products at once, the delivery order will be scheduled " +"based on the greatest product lead time. Otherwise, it will be based on the " +"shortest." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__payment_term_id +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. If you keep the payment terms and the due " +"date empty, it means direct payment. The payment terms may compute several " +"due dates, for example 50% now, 50% in one month." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_due +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. The Payment terms may compute several due " +"dates, for example 50% now and 50% in one month, but if you want to force a " +"due date, make sure that the payment term is not set on the invoice. If you " +"keep the Payment terms and the due date empty, it means direct payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__ignore_exception +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__ignore_exception +msgid "Ignore Exceptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image +msgid "Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__product_image +msgid "" +"Image of the product variant (Big-sized image of product template if false). " +"It is automatically resized as a 1024x1024px image, with aspect ratio " +"preserved." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_medium +msgid "" +"Image of the product variant (Medium-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_small +msgid "" +"Image of the product variant (Small-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__immediate_transfer +msgid "Immediate Transfer" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders since" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import all customer groups" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_categories_from_date +msgid "Import categories from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import in background" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import partners from all websites" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__import_partners_from_date +msgid "Import partners from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import partners since" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products categories since" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_products_from_date +msgid "Import products from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products since" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__import_orders_from_date +msgid "Import sale orders from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import sales orders from all store views" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Imports" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_internal_id +msgid "" +"In Magento2, we have to keep track of both the external_id (the product SKU) " +"which is used in the Magento2 REST API, as well as the Magento internal id " +"as used in the admin URL." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_income_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_income_id +msgid "Income Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__incoming_qty +msgid "Incoming" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterm_id +msgid "Incoterm" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterms_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__incoterm +msgid "Incoterms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterms_id +msgid "" +"Incoterms are series of sales terms. They are used to divide transaction " +"costs and responsibilities between buyer and seller and reflect state-of-the-" +"art transportation practices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__industry_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__industry_id +msgid "Industry" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Informations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__default_code +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref +msgid "Internal Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__barcode +msgid "International Article Number used for product identification." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterm_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__incoterm +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_inventory +msgid "Inventory Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "Inventory Options" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_valuation +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_valuation +msgid "Inventory Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_invoice +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn +msgid "Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_count +msgid "Invoice Count" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/account_invoice/exporter.py:25 +#, python-format +msgid "Invoice Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_invoice +msgid "Invoice Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_icon +msgid "Invoice Icon" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_line_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_lines +msgid "Invoice Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_shipping_on_delivery +msgid "Invoice Shipping on Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_status +msgid "Invoice Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_id +msgid "Invoice for which this invoice is the credit note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_invoiced +msgid "Invoiced Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_ids +msgid "Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__invoice_policy +msgid "Invoicing Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__is_multi_company +msgid "Is Backend Multi-Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__is_locked +msgid "Is Locked" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__is_product_variant +msgid "Is Product Variant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_company +#, fuzzy +msgid "Is a Company" +msgstr "Empresa" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer +msgid "Is a Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_delivery +msgid "Is a Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Is a down payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is expense" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__is_expired +msgid "Is expired" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is true if the sales order line comes from an expense or a vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reconciled +msgid "" +"It indicates that the invoice has been paid and the journal entry of the " +"invoice has been reconciled with one or several journal entries of payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__sent +msgid "It indicates that the invoice has been sent." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_type +msgid "It specifies goods to be deliver partially or all at once" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__function +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__function +msgid "Job Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_id +msgid "Journal Entry" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_name +msgid "Journal Entry Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__journal_item_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_invoice +msgid "Keep empty to use the current date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date +msgid "Keep empty to use the invoice date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_income_id +msgid "" +"Keep this field empty to use the default value from the product category." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_expense_id +msgid "" +"Keep this field empty to use the default value from the product category. If " +"anglo-saxon accounting with automated valuation method is configured, the " +"expense account on the product category will be used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__lang_id +msgid "Language" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_address____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_store____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_website____last_update +msgid "Last Modified on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_date +msgid "Last Updated on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_qty +msgid "Last computed quantity to send on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sync_date +msgid "Last synchronization date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "" +"Last time the invoices & payments matching was performed for this partner. " +"It is set either if there's not at least an unreconciled debit and an " +"unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_id +msgid "Link to the automatically generated Journal Items." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__location +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__location_id +msgid "Location" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_root +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_delivery_carrier_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_category_form +msgid "Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_categories_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_categories +#: model:ir.cron,name:connector_magento.ir_cron_import_product_categories +msgid "Magento - Import Product Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_product_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_product +#: model:ir.cron,name:connector_magento.ir_cron_import_product_product +msgid "Magento - Import Products" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_update_product_stock_qty_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_update_product_stock_qty +#: model:ir.cron,name:connector_magento.ir_cron_update_product_stock_qty +msgid "Magento - Update Stock Quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_customer_groups_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_customer_groups +#: model:ir.cron,name:connector_magento.ir_cron_import_customer_groups +msgid "Magento - Import Customer Groups" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_partners_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_partners +#: model:ir.cron,name:connector_magento.ir_cron_import_partners +msgid "Magento - Import Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_sale_orders_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_sale_orders +#: model:ir.cron,name:connector_magento.ir_cron_import_sale_orders +msgid "Magento - Import Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_address +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_tree +msgid "Magento Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_address_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Magento Address Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_backend +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__backend_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_tree +msgid "Magento Backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_backend +msgid "Magento Backends" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_carrier_code +msgid "Magento Base Carrier Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding +msgid "Magento Binding (abstract)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_binding_model +msgid "Magento Binding Model" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_stock_picking__magento_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:connector_magento.view_invoice_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_sale_order_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_stock_picking_out_magento_form +msgid "Magento Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_code +msgid "Magento Carrier Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_child_ids +msgid "Magento Child Categories" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Magento Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_config_specializer +msgid "Magento Configuration Specializer Mixin" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_stock_picking +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_tree +msgid "Magento Delivery Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding_backend_read +msgid "Magento Generic Object Reader Wizard" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__group_id +msgid "Magento Group (Category)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_id +#, fuzzy +msgid "Magento Id" +msgstr "ID no Magento" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_internal_id +msgid "Magento Internal" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_account_invoice +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_tree +msgid "Magento Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_id +msgid "Magento Order ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_line_ids +msgid "Magento Order Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_parent_id +msgid "Magento Parent Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_partner_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_tree +msgid "Magento Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_product +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_tree +msgid "Magento Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_category +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_tree +msgid "Magento Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_type +msgid "Magento Product Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_binding_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__product_binding_ids +msgid "Magento Products" +msgstr "" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_rewards +#: model:product.template,name:connector_magento.product_product_rewards_product_template +msgid "Magento Rewards" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_order_id +msgid "Magento Sale Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order_line +msgid "Magento Sale Order Line" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_tree +msgid "Magento Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_tree +msgid "Magento Store" +msgstr "" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_store_credit +#: model:product.template,name:connector_magento.product_product_store_credit_product_template +msgid "Magento Store Credit" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_store +msgid "Magento Stores" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_storeview +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__storeview_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_tree +msgid "Magento Storeview" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_storeview +msgid "Magento Storeviews" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_tracking_title +msgid "Magento Tracking Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__taxvat +msgid "Magento VAT" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_website +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__website_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_tree +msgid "Magento Website" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_website +msgid "Magento Websites" +msgstr "" + +#. module: connector_magento +#: model:res.partner.category,name:connector_magento.category_no_account +msgid "Magento guest users" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:58 +#, python-format +msgid "Magento sales order is already in state %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Main Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__main_exception_id +msgid "Main Exception" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backorders +msgid "Manage Inventory Backorders" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Manage Stock" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__manage_stock +msgid "Manage Stock Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__service_type +msgid "" +"Manually set quantities on order: Invoice based on the manually entered " +"quantity, without creating an analytic account.\n" +"Timesheets on contract: Invoice based on the tracked hours on the related " +"timesheet.\n" +"Create a task and track hours: Create a task on the sales order validation " +"and track the work hours." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_medium +msgid "" +"Medium-sized image of this contact. It is automatically resized as a " +"128x128px image, with aspect ratio preserved. Use this field in form views " +"or some kanban views." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn_msg +msgid "Message for Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn_msg +msgid "Message for Sales Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn_msg +msgid "Message for Sales Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn_msg +msgid "Message for Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_ids +msgid "Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "Method to update delivered qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__orderpoint_ids +msgid "Minimum Stock Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__mobile +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__mobile +msgid "Mobile" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "Move Entire Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__name +msgid "Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signed_by +msgid "Name of the person that signed the SO." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__need_cancel +msgid "Need to be canceled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__newsletter +msgid "Newsletter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next +msgid "Next Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next_prefix +msgid "Next Number Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "No Sales Order Synchronization" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "No Sell" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__no_stock_sync +msgid "No Stock Synchronization" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/queue_job/common.py:26 +#, python-format +msgid "" +"No admin URL configured on the backend or no admin path is defined for this " +"record." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:79 +#, python-format +msgid "No tracking number to send." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__notes +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__note +msgid "Notes" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:364 +#: code:addons/connector_magento/components/exporter.py:369 +#, python-format +msgid "Nothing to export." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__number +msgid "Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__customer_lead +msgid "" +"Number of days between the order confirmation and the shipping of the " +"products to the customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__odoo_id +msgid "Odoo Product" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "" +"Once imported,\n" +" some types of records,\n" +" like the products or categories,\n" +" need a manual review.\n" +" You will find the list\n" +" of the new records to review\n" +" in the menu 'Connectors > Checkpoint'." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_payment +msgid "Online Payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_signature +msgid "Online Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__verify_ssl +msgid "Only for Magento 2.0+" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_id +msgid "Operation Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids +msgid "Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids_without_package +msgid "Operations without package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_option_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sale_order_option_ids +msgid "Optional Products Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Options" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__date_order +msgid "Order Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__order_line +msgid "Order Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_id +msgid "Order Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__state +msgid "Order Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom_qty +msgid "Ordered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__invoice_policy +msgid "" +"Ordered Quantity: Invoice quantities ordered by the customer.\n" +"Delivered Quantity: Invoice quantities delivered to the customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__outgoing_qty +msgid "Outgoing" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__outstanding_credits_debits_widget +msgid "Outstanding Credits Debits Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__owner_id +msgid "Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_packaging +msgid "Package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids +msgid "Package Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids_details +msgid "Package Level Ids Details" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_ids +msgid "Packages" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reconciled +msgid "Paid/Reconciled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_id +msgid "Parent Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_parent_id +msgid "Parent Magento Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_id +msgid "Parent Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_path +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_path +msgid "Parent Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_name +msgid "Parent name" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Partial" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__partner_id +msgid "Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__odoo_id +msgid "Partner Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contract_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__partner_ids +msgid "Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__password +msgid "Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_mode_id +msgid "Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_payment_mode +msgid "Payment Modes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_move_line_ids +msgid "Payment Move Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reference +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__reference +msgid "Payment Ref." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_term_id +msgid "Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_ids +msgid "Payment Tokens" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_ids +msgid "Payments" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payments_widget +msgid "Payments Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__phone +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__phone +msgid "Phone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_method +msgid "Picking Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price +msgid "Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce +msgid "Price Reduce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxexcl +msgid "Price Reduce Tax excl" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxinc +msgid "Price Reduce Tax inc" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__list_price +msgid "Price at which the product is sold to customers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_item_ids +msgid "Pricelist Item" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__item_ids +msgid "Pricelist Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__catalog_price_tax_included +msgid "Prices include tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_id +msgid "Pricing/Primary Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__printed +msgid "Printed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__priority +msgid "Priority" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__priority +msgid "" +"Priority for this picking. Setting manually a value here would set it as " +"priority for all the moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__procurement_group_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__group_id +msgid "Procurement Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_product +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__product_id +msgid "Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_line_ids +msgid "Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_category +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__odoo_id +msgid "Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_image +msgid "Product Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__packaging_ids +msgid "Product Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__type +msgid "Product Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_no_variant_attribute_value_ids +msgid "Product attribute values that do not create variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_production +msgid "Production Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_ids +msgid "Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__delivery_type +msgid "Provider" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_purchase +#, fuzzy +msgid "Purchase Description" +msgstr "Descrição" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_po_id +msgid "Purchase Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_at_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_qty +msgid "Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_available +msgid "Quantity On Hand" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__incoming_qty +msgid "" +"Quantity of planned incoming products.\n" +"In a context with a single Stock Location, this includes goods arriving to " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods arriving to the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods arriving to any Stock Location with " +"'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__outgoing_qty +msgid "" +"Quantity of planned outgoing products.\n" +"In a context with a single Stock Location, this includes goods leaving this " +"Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods leaving the Stock " +"Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods leaving any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_template_id +msgid "Quotation Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__expense_policy +msgid "Re-Invoice Policy" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Read Binding information from backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.magento_binding_backend_read_act_window +msgid "Read information from backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/deleter.py:20 +#, python-format +msgid "Record %s deleted on Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:191 +#, python-format +msgid "Record does no longer exist in Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:371 +#, python-format +msgid "Record exported with ID %s on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__name +msgid "Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__origin +msgid "Reference of the document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__origin +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__origin +msgid "Reference of the document that produced this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__name +#, fuzzy +msgid "Reference/Description" +msgstr "Descrição" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_ids +msgid "Refund Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_id +#, fuzzy +msgid "Related Company" +msgstr "Criado em" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__related_backorder_ids +msgid "Related backorders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__remaining_validity_days +msgid "Remaining Validity Days" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Remaining amount due in the currency of the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_signed +msgid "Remaining amount due in the currency of the invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual +msgid "Remaining amount due." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:136 +#, python-format +msgid "Reopen sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_max_qty +msgid "Reordering Max Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_min_qty +msgid "Reordering Min Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__nbr_reordering_rules +msgid "Reordering Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_signature +msgid "" +"Request a online signature to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_payment +msgid "" +"Request an online payment to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__responsible_id +msgid "Responsible" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__route_id +msgid "Route" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__route_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_ids +msgid "Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_sale +#, fuzzy +msgid "Sale Description" +msgstr "Descrição" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__odoo_id +msgid "Sale Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__odoo_id +msgid "Sale Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__sale_prefix +msgid "Sale Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__lst_price +msgid "Sale Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__workflow_process_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__workflow_process_id +msgid "Sale Workflow Process" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:53 +#, python-format +msgid "Sale is not linked with a Magento sales order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sale_id +msgid "Sales Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order_line +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn +msgid "Sales Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__list_price +msgid "Sales Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__team_id +msgid "Sales Team" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__salesman_id +msgid "Salesperson" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__scheduled_date +msgid "" +"Scheduled time for the first part of the shipment to be processed. Setting " +"manually a value here would set it as expected date for all the stock moves." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_token +msgid "Security Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__categ_id +msgid "Select category for the current product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_line_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__sale_warn +msgid "" +"Selecting the \"Warning\" option will notify user with the message, " +"Selecting \"Blocking Message\" will throw an exception with the message and " +"block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__self +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__self +msgid "Self" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0 and Use Customer Notification" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Send email notification on invoice validated/paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_picking_done_mail +msgid "Send email notification on picking done" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sent +msgid "Sent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sequence +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sequence +msgid "Sequence" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__removal_strategy_id +msgid "" +"Set a specific removal strategy that will be used regardless of the source " +"location for this product category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_share +msgid "Share Partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_price +msgid "Shipping Cost" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:24 +#, python-format +msgid "Shipping Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_policy +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_type +msgid "Shipping Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_account_payment_mode__create_invoice_on +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"If nothing is set, the option falls back to the same option on the Magento " +"store related to the sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__create_invoice_on +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"This only takes effect if the sales order's related payment method is not " +"giving an option for this by itself. (See Payment Methods)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Show Check Availability" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_lots_text +msgid "Show Lots Text" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Show Mark As Todo" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_operations +msgid "Show Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_validate +msgid "Show Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signature +msgid "Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signature +msgid "Signature received through the portal." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signed_by +msgid "Signed by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_expiration +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_token +msgid "Signup Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_valid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_url +msgid "Signup URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_small +msgid "" +"Small-sized image of this contact. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sales_count +msgid "Sold" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sort_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sort_order +msgid "Sort Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__origin +msgid "Source Document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__source_email +msgid "Source Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_id +msgid "Source Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_account_analytic_id +msgid "Specific analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "Specific fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_warehouse_id +msgid "Specific warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__hs_code +msgid "" +"Standardized code for international shipping and goods declaration. At the " +"moment, only used for the FedEx shipping provider." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__state_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__state_id +msgid "State" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:50 +#, python-format +msgid "State %s is not exported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__state +msgid "Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_stock_field_id +msgid "Stock Field" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_manual_move_ids +msgid "Stock Fifo Manual Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_real_time_aml_ids +msgid "Stock Fifo Real Time Aml" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_input +msgid "Stock Input Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_journal +msgid "Stock Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_move_ids +msgid "Stock Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__move_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_lines +msgid "Stock Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_output +msgid "Stock Output Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__odoo_id +msgid "Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Stock Quant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "Stock Valuation Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value_currency_id +msgid "Stock Value Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_ids_without_package +msgid "Stock moves not in package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__store_id +msgid "Store" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__store_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Stores" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__store_id +msgid "Storeview" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__storeview_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_storeview +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +msgid "Storeviews" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street +msgid "Street" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street2 +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street2 +msgid "Street2" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Supplier Payment Mode" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Synchronize Metadata" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__name +msgid "Tag Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__category_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__category_id +msgid "Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax +msgid "Tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__tax_class_id +msgid "Tax Class ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__vat +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__vat +msgid "Tax ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__tax_line_ids +msgid "Tax Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_rate +msgid "Tax Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_by_group +msgid "Tax amount by group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax groups are used with some external system like Prestashop" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax_signed +msgid "Tax in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_tax +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_id +msgid "Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_archived_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_existing_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Technical compute" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__display_type +msgid "Technical field for UX purpose." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_name +msgid "" +"Technical field holding the number given to the invoice, automatically set " +"when the invoice is validated then stored to set the same number again if " +"the invoice is cancelled, set to draft and re-validated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_check_availability +msgid "" +"Technical field used to compute whether the check availability button should " +"be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "" +"Technical field used to compute whether the mark as todo button should be " +"shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_validate +msgid "Technical field used to compute whether the validate should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__pricelist_id +msgid "" +"Technical field. Used for searching on pricelists, not stored in database." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_move_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Technical: used to compute quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_template_attribute_value_ids +msgid "Template Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__note +msgid "Terms and conditions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__vat +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount +msgid "" +"The amount computed in Odoo doesn't match with the amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__analytic_account_id +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:76 +#, python-format +msgid "The carrier %s does not export tracking numbers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__commercial_partner_id +msgid "" +"The commercial entity that will be used on Journal Entries for this invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__company_id +msgid "The company is automatically set from your user preferences." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/importer.py:328 +#, python-format +msgid "" +"The configurable product is not imported in Odoo, because only the simple " +"products are used in the sales orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_custom_api_path +msgid "" +"The default API path is '/index.php/api/xmlrpc'. Check this box if you use a " +"custom API path, in that case, the location has to be completed with the " +"custom API path " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_expense_categ_id +msgid "" +"The expense is accounted for when a vendor bill is validated, except in " +"anglo-saxon accounting with perpetual inventory valuation in which case the " +"expense (Cost of Goods Sold account) is recognized at the customer invoice " +"validation." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_position_id +msgid "" +"The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__name +msgid "The name that will be used on account move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__product_count +msgid "" +"The number of products under this category (Does not consider the children " +"categories)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__account_id +msgid "The partner account used for this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "" +"The partner has at least one unreconciled debit and credit since last time " +"the invoices & payments matching was performed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__tz +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__tz +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__reference +msgid "The payment communication of this sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reference +msgid "" +"The payment communication that will be automatically populated once the " +"invoice validation. You can also write a free communication." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__currency_rate +msgid "" +"The rate of the currency to the currency of rate 1 applicable at the date of " +"the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__lst_price +msgid "" +"The sale price is managed from the product template. Click on the 'Configure " +"Variants' button to set the extra attribute prices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_customer +msgid "" +"The stock location used as destination when sending goods to this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "" +"The stock location used as source when receiving goods from this contact." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount_tax +msgid "" +"The tax amount computed in Odoo doesn't match with the tax amount in " +"Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__volume +msgid "The volume in m3." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:41 +#, python-format +msgid "The wizard must be launched from a magento backend model" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:45 +#, python-format +msgid "The wizard must be launched on a single magento backend instance" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "" +"This account will be used instead of the default one as the payable account " +"for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "" +"This account will be used instead of the default one as the receivable " +"account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_income_categ_id +msgid "This account will be used when validating a customer invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_variant +msgid "" +"This field holds the image used as image for the product variant, limited to " +"1024x1024px." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__commitment_date +msgid "" +"This is the delivery date promised to the customer. If set, the delivery " +"order will be scheduled based on this date rather than product lead times." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__price_extra +msgid "This is the sum of the extra price of all attributes" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "" +"This option should respect the same\n" +" configuration as Magento. Pay\n" +" attention to the taxes on the products,\n" +" which should surely include prices when\n" +" this option is activated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "" +"This payment term will be used instead of the default one for purchase " +"orders and vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "" +"This payment term will be used instead of the default one for sales orders " +"and customer invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_production +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated by manufacturing orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_inventory +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated when you do an inventory." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__responsible_id +msgid "" +"This user will be responsible of the next activities related to logistic " +"operations for this product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz +msgid "Timezone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz_offset +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__title +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__title +msgid "Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_to_invoice +msgid "To Invoice Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__token +msgid "Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_total +msgid "Total" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount +msgid "Total Amount differs from Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__total_invoiced +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__total_invoiced +msgid "Total Invoiced" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit +msgid "Total Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit +msgid "Total Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_tax +msgid "Total Tax" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount_tax +msgid "Total Tax Amount differs from Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount +msgid "Total amount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total amount in the currency of the company, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total amount in the currency of the invoice, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__credit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount_tax +msgid "Total amount w. tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__debit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__total_route_ids +msgid "Total routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__service_type +msgid "Track Service" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tracking +msgid "Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_ref +msgid "Tracking Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_url +msgid "Tracking URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__transaction_ids +msgid "Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__type +msgid "Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__type_name +msgid "Type Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_code +msgid "Type of Operation" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_website/importer.py:21 +#, python-format +msgid "Undefined" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_name +msgid "Unit of Measure Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of measurement for Weight" +msgstr "" + +#. module: connector_magento +#: model:product.product,uom_name:connector_magento.product_product_rewards +#: model:product.product,uom_name:connector_magento.product_product_store_credit +#: model:product.template,uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,uom_name:connector_magento.product_product_store_credit_product_template +msgid "Unit(s)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_untaxed +msgid "Untaxed Amount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_to_invoice +msgid "Untaxed Amount To Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_signed +msgid "Untaxed Amount in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_invoice_signed +msgid "Untaxed Amount in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_invoiced +msgid "Untaxed Invoiced Amount" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update all the products stock quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__updated_at +msgid "Updated At (on Magento)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__location +msgid "Url to magento application" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +#: selection:magento.product.product,manage_stock:0 +msgid "Use Default Config" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_auth_basic +msgid "Use HTTP Auth Basic" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_auth_basic +msgid "" +"Use a Basic Access Authentication for the API. The Magento server could be " +"configured to restrict access using a HTTP authentication based on a " +"username and a password." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__type +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__type +msgid "" +"Used by Sales and Purchase Apps to select the relevant address depending on " +"the context." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_custom_attribute_value_ids +msgid "User entered custom product attribute values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__username +msgid "Username" +msgstr "Usuário" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_ids +#, fuzzy +msgid "Users" +msgstr "Usuário" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_archived_variant_ids +msgid "Valid Archived Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_existing_variant_ids +msgid "Valid Existing Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +msgid "Valid Product Attribute Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Valid Product Attribute Lines Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +msgid "Valid Product Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +msgid "Valid Product Attribute Values Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_ids +msgid "Valid Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +msgid "Valid Product Attributes Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__validity_date +msgid "Validity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__validity_date +msgid "" +"Validity date of the quotation, after this date, the customer won't be able " +"to validate the quotation online." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valuation +msgid "Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value +msgid "Value" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_variant +msgid "Variant Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price_extra +msgid "Variant Price Extra" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__variant_seller_ids +msgid "Variant Seller" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Vendor Bill" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_display_name +msgid "Vendor Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "Vendor Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Vendor Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__seller_ids +msgid "Vendors" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__verify_ssl +msgid "Verify SSL certificate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__version +msgid "Version" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__volume +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__volume +msgid "Volume" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__warehouse_id +msgid "Warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__warehouse_id +msgid "Warehouse used to compute the stock quantities." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/common.py:188 +#, python-format +msgid "" +"We have to import the product before we can provide the admin link to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__password +msgid "Webservice password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__username +msgid "Webservice user" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__website_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website +msgid "Website" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_website +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Websites" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight +msgid "Weight" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_id +msgid "Weight Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__shipping_weight +msgid "Weight for Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__weight +msgid "" +"Weight of the product, packaging not included. The unit of measure can be " +"changed in the general settings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_name +msgid "Weight unit of measure label" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. This is the default " +"value for all products in this category. It can also directly be set on each " +"product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_input +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. When not set on the " +"product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. This is the " +"default value for all products in this category. It can also directly be set " +"on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_output +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. When not set on " +"the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_journal +msgid "" +"When doing real-time inventory valuation, this is the Accounting Journal in " +"which entries will be automatically posted when stock moves are processed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "" +"When real-time inventory valuation is enabled on a product, this account " +"will hold the current value of the products." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__is_locked +msgid "" +"When the picking is not done this allows changing the initial demand. When " +"the picking is done this allows changing the done quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_id +msgid "You can find a contact by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "You can find a customer by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__zip +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__zip +msgid "Zip" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "choose" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__import_orders_from_date +msgid "" +"do not consider non-imported sale orders before this date. Leave empty to " +"import all sale orders" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com" +msgstr "ex: http://meu.magento.com.br" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com/admin" +msgstr "ex: http://meu.magento.com.br/admin" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "get" +msgstr "" + +#. module: connector_magento +#: model:product.product,weight_uom_name:connector_magento.product_product_rewards +#: model:product.product,weight_uom_name:connector_magento.product_product_store_credit +#: model:product.template,weight_uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,weight_uom_name:connector_magento.product_product_store_credit_product_template +msgid "kg" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "mag-" +msgstr "mag-" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner_category +msgid "magento.res.partner.category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__amount_by_group +msgid "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__warehouse_id +msgid "warehouse" +msgstr "" + +#, fuzzy +#~ msgid "Section" +#~ msgstr "Descrição" diff --git a/connector_magento/i18n/sl.po b/connector_magento/i18n/sl.po new file mode 100644 index 000000000..e6ee9119b --- /dev/null +++ b/connector_magento/i18n/sl.po @@ -0,0 +1,5204 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * connector_magento +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: connector-magento (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-07-22 09:38+0000\n" +"PO-Revision-Date: 2015-07-08 12:07+0000\n" +"Last-Translator: <>\n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-connector-" +"magento-8-0/language/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__state +msgid "" +" * Draft: not confirmed yet and will not be scheduled until confirmed.\n" +" * Waiting Another Operation: waiting for another move to proceed before it " +"becomes automatically available (e.g. in Make-To-Order flows).\n" +" * Waiting: if it is not ready to be sent because the required products " +"could not be reserved.\n" +" * Ready: products are reserved and ready to be sent. If the shipping policy " +"is 'As soon as possible' this happens as soon as anything is reserved.\n" +" * Done: has been processed, can't be modified or cancelled anymore.\n" +" * Cancelled: has been cancelled, can't be confirmed anymore." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__state +msgid "" +" * The 'Draft' status is used when a user is encoding a new and unconfirmed " +"Invoice.\n" +" * The 'Open' status is used when user creates invoice, an invoice number is " +"generated. It stays in the open status till the user pays the invoice.\n" +" * The 'In Payment' status is used when payments have been registered for " +"the entirety of the invoice in a journal configured to post entries at bank " +"reconciliation only, and some of them haven't been reconciled with a bank " +"statement line yet.\n" +" * The 'Paid' status is set automatically when the invoice is paid. Its " +"related journal entries may or may not be reconciled.\n" +" * The 'Cancelled' status is used when user cancel invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_count +msgid "# Product Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__product_count +msgid "# Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__magento_order_id +msgid "'order_id' field in Magento" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "(recompute)" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 +msgid "A Magento binding for this invoice already exists." +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.backend:0 +msgid "A backend with the same sale prefix already exists" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.account.invoice:0 sql_constraint:magento.address:0 +#: sql_constraint:magento.binding:0 sql_constraint:magento.product.category:0 +#: sql_constraint:magento.product.product:0 +#: sql_constraint:magento.res.partner:0 +#: sql_constraint:magento.res.partner.category:0 +#: sql_constraint:magento.sale.order:0 sql_constraint:magento.sale.order.line:0 +#: sql_constraint:magento.stock.picking:0 sql_constraint:magento.store:0 +#: sql_constraint:magento.storeview:0 sql_constraint:magento.website:0 +msgid "A binding already exists with the same Magento ID." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__description_sale +msgid "" +"A description of the Product that you want to communicate to your customers. " +"This description will be copied to every Sales Order, Delivery Order and " +"Customer Invoice/Credit Note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "" +"A parent sales order has been canceled on the backend and needs to be " +"canceled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__parent_id +msgid "A parent sales order is a sales order replaced by this one." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_need_cancel +msgid "A parent sales order needs cancel" +msgstr "" + +#. module: connector_magento +#: sql_constraint:magento.address:0 +msgid "A partner address can only have one binding by backend." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__sale_prefix +msgid "" +"A prefix put before the name of imported sales orders.\n" +"For instance, if the prefix is 'mag-', the sales order 100000692 in Magento, " +"will be named 'mag-100000692' in Odoo." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__type +msgid "" +"A storable product is a product for which you manage stock. The Inventory " +"app has to be installed.\n" +"A consumable product is a product for which stock is not managed.\n" +"A service is a non-material product you provide." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "API" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_warning +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_warning +msgid "Access warning" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "" +"According to product configuration, the delivered quantity can be " +"automatically computed by mechanism :\n" +" - Manual: the quantity is set manually on the line\n" +" - Analytic From expenses: the quantity is the quantity sum from posted " +"expenses\n" +" - Timesheet: the quantity is the sum of hours recorded on tasks linked to " +"this sale line\n" +" - Stock Moves: the quantity comes from confirmed pickings\n" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__account_id +msgid "Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date +msgid "Accounting Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__bank_account_required +msgid "" +"Activate this option if this payment method requires you to know the bank " +"account number of your customer or supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__active +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__active +msgid "Active" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_ids +msgid "Activities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_state +msgid "Activity State" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__comment +msgid "Additional Information" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__additional_info +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__additional_info +msgid "Additional info" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__type +msgid "Address Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_magento_order_address +msgid "Address from a Magento Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__admin_location +msgid "Admin Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Advanced Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__all_qty_delivered +msgid "All quantities delivered" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__lang +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__lang +msgid "" +"All the emails and documents sent to this contact will be translated in this " +"language." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:76 +#, python-format +msgid "Already exported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/importer.py:374 +#, python-format +msgid "Already imported" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:200 +#, python-format +msgid "Already up-to-date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_undiscounted +msgid "Amount Before Discount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual +msgid "Amount Due" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Amount Due in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__residual_signed +msgid "Amount Due in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__consider_as_company +msgid "" +"An account imported with a 'company' in the billing address is considered as " +"a company.\n" +" The partner takes the name of the company and is not merged with the " +"billing address." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__account_analytic_id +msgid "Analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__analytic_line_ids +msgid "Analytic lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_attachment_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_value_ids +msgid "Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__token +msgid "" +"Authentication token for Magento 2.0+. See https://devdocs. magento.com/" +"guides/v2.3/get-started/authentication/gs-authentication-token.html" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__authorized_transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__authorized_transaction_ids +msgid "Authorized Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Auto-complete from a past bill." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__workflow_process_id +msgid "Automatic Workflow" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__available_carrier_ids +msgid "Available Carriers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_id +msgid "Back Order of" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backorder_ids +msgid "Back Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_backend +msgid "Backends" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_account_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_account_count +msgid "Bank" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "Bank Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_bank_id +msgid "" +"Bank Account Number to which the invoice will be paid. A Company bank " +"account if this is a Customer Invoice or Vendor Credit Note, otherwise a " +"Partner bank account number." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__bank_account_required +msgid "Bank Account Required" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__bank_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__bank_ids +msgid "Banks" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__barcode +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__barcode +msgid "Barcode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__base_media_url +msgid "Base Media Url" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__base_media_url +msgid "" +"Base URL to retrieve product images. Used for Magento2 only. For example: " +"http://magento/media" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic Auth. Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic Auth. Username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_password +msgid "Basic access authentication web server side password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__auth_basic_username +msgid "Basic access authentication web server side username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image +msgid "Big-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__birthday +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__birthday +#: model:ir.model.fields,field_description:connector_magento.field_res_users__birthday +msgid "Birthday" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_bounce +msgid "Bounce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_bulk +msgid "Bulk Weight" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "" +"By clicking on the buttons,\n" +" you will initiate the synchronizations\n" +" with Magento.\n" +" Note that the import or exports\n" +" won't be done directly,\n" +" they will create 'Jobs'\n" +" executed as soon as possible." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_updatable +msgid "Can Edit Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__purchase_ok +msgid "Can be Purchased" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__rental +msgid "Can be Rent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_ok +msgid "Can be Sold" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Cancel" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:113 +#, python-format +msgid "Cancel sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__canceled_in_backend +msgid "Canceled in backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:71 +#, python-format +msgid "" +"Canceled: the delivery order does not contain lines from the original sale " +"order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__cancellation_resolved +msgid "Cancellation from the backend resolved" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_id +msgid "Carrier" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "Cash Rounding Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_from_categ_ids +msgid "Category Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__channel_ids +msgid "Channels" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "" +"Check if the storeview is active in Magento but its sales orders should not " +"be imported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__has_packages +msgid "Check the existence of destination packages on move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Check the existence of pack operation on the picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer +msgid "" +"Check this box if this contact is a customer. It can be selected in sales " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier +msgid "" +"Check this box if this contact is a vendor. It can be selected in purchase " +"orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__employee +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__no_stock_sync +msgid "Check this to exclude the product from stock synchronizations." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_backend/common.py:246 +#, python-format +msgid "" +"Check your configuration, we can't get the data. Here is the error:\n" +"%s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__child_id +msgid "Child Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__child_ids +msgid "Child Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__product_stock_field_id +msgid "" +"Choose the field of the product which will be used for stock inventory " +"updates.\n" +"If empty, Quantity Available is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__city +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__city +msgid "City" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Close" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__code +msgid "Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__color +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__color +msgid "Color Index" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__commitment_date +msgid "Commitment Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref_company_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__company_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__company_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_name +msgid "Company Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__commercial_company_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__commercial_company_name +msgid "Company Name Entity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company_type +msgid "Company Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_gid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__company +#: model:ir.model.fields,field_description:connector_magento.field_res_users__company +msgid "Company name (in Magento)" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Complete" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contact_address +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contact_address +msgid "Complete Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__complete_name +msgid "Complete Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__effective_date +msgid "Completion date of the first delivery order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_qty +msgid "Computed Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__confirmation_date +msgid "Confirmation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__consider_as_company +msgid "Considered as company" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner +msgid "Contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__child_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__child_ids +msgid "Contacts" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contracts_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__standard_price +msgid "Cost" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_currency_id +msgid "Cost Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__cost_method +msgid "Cost Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__standard_price +msgid "" +"Cost used for stock valuation in standard price and as a first price to set " +"in average/fifo. Also used as a base price for pricelists. Expressed in the " +"default unit of measure of the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_cost_method +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_cost_method +msgid "Costing Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_bounce +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__country_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__country_id +msgid "Country" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +msgid "Create invoice on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_payment_mode__create_invoice_on +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_invoice_on +msgid "Create invoice on action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__created_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__created_at +msgid "Created At (on Magento)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_uid +msgid "Created by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__create_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__create_date +msgid "Created on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date +msgid "Creation Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date +msgid "Creation Date, usually the time of the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__currency_id +msgid "Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__qty_available +msgid "" +"Current quantity of products.\n" +"In a context with a single Stock Location, this includes goods stored at " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"stored in the Stock Location of the Warehouse of this Shop, or any of its " +"children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_custom_api_path +msgid "Custom Api Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_delay +msgid "Customer Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_customer +msgid "Customer Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Customer Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__partner_ref +msgid "Customer Ref" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__client_order_ref +msgid "Customer Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__taxes_id +msgid "Customer Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__date +msgid "Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__date_done +msgid "Date at which the transfer has been processed or cancelled." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__date_done +msgid "Date of Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__confirmation_date +msgid "Date on which the sales order is confirmed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_billing +msgid "Default Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_lang_id +msgid "Default Language" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__owner_id +msgid "Default Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__default_category_id +msgid "Default Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_default_shipping +msgid "Default Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Default taxes used when buying the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__taxes_id +msgid "Default taxes used when selling the product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_id +msgid "Default unit of measure used for all stock operations." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__uom_po_id +msgid "" +"Default unit of measure used for purchase orders. It must be in the same " +"category as the default unit of measure." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__seller_ids +msgid "Define vendor pricelists." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__cash_rounding_id +msgid "" +"Defines the smallest coinage of the currency that can be used to pay by cash." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__trust +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_manual +msgid "Delivered Manually" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered +msgid "Delivered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_shipping_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__customer_lead +msgid "Delivery Lead Time" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_message +msgid "Delivery Message" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_delivery_carrier_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_count +msgid "Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_rating_success +msgid "Delivery Rating Success" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_shipping_id +msgid "Delivery address for current invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_shipping_id +msgid "Delivery address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__expected_date +msgid "" +"Delivery date you can promise to the customer, computed from product lead " +"times and from the shipping policy of the order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_delay +msgid "" +"Delivery lead time, in days. It's the number of days, promised to the " +"customer, between the confirmation of the sales order and the delivery." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__route_ids +msgid "" +"Depending on the modules installed, this will allow you to define the route " +"of the product: whether it will be bought, manufactured, MTO, etc." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__name +msgid "Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingout +msgid "Description on Delivery Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_picking +msgid "Description on Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_pickingin +msgid "Description on Receptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_dest_id +msgid "Destination Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__discount +msgid "Discount (%)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__display_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__display_name +msgid "Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__display_type +msgid "Display Type" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Do Not Manage Stock" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "" +"Does the invoice export/creation should send an email notification on " +"Magento side?" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__send_picking_done_mail +msgid "" +"Does the picking export/creation should send an email notification on " +"Magento side?" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "" +"Down payments are made when creating invoices from a sales order. They are " +"not copied when duplicating a sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_due +msgid "Due Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__emailid +msgid "E-mail address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__effective_date +msgid "Effective Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__partner_share +msgid "" +"Either customer (not a user), either shared user. Indicated the current " +"partner is a customer without access or with a limited access created for " +"sharing data." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email +msgid "Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__employee +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__employee +msgid "Employee" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__enabled +msgid "Enabled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tracking +msgid "Ensure the traceability of a storable product in your warehouse." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__delivery_price +msgid "Estimated Delivery Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exception_ids +msgid "Exceptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__exceptions_summary +msgid "Exceptions Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_expense_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_expense_id +msgid "Expense Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__expense_policy +msgid "" +"Expenses and vendor bills can be re-invoiced to a customer.With this option, " +"a validated expense can be re-invoice to a customer at its cost or sales " +"price." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_export_tracking +msgid "Export tracking numbers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_ids +msgid "Extra categories" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__data +msgid "File" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__name +msgid "File Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__carrier_id +msgid "Fill this field if you plan to invoice the shipping based on picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_account_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__fiscal_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__fiscal_position_id +msgid "Fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_follower_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_channel_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_partner_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__removal_strategy_id +msgid "Force Removal Strategy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__virtual_available +msgid "Forecast Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__virtual_available +msgid "" +"Forecast quantity (computed as Quantity On Hand - Outgoing + Incoming)\n" +"In a context with a single Stock Location, this includes goods stored in " +"this location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods stored in the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods stored in any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__email_formatted +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Get" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__packaging_ids +msgid "Gives the different ways to package the same product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sequence +msgid "Gives the sequence order when displaying a product list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__guest_customer +msgid "Guest Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hs_code +msgid "HS Code" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "HTTP Authentication" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__has_checkpoint +msgid "Has Checkpoint" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__has_outstanding +msgid "Has Outstanding" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_exist +msgid "Has Pack Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_packages +msgid "Has Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_scrap_move +msgid "Has Scrap Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__has_tracking +msgid "Has Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__need_cancel +msgid "Has been canceled on the backend, need to be canceled." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Here is the file with information read drom the backend:" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__hide_expense_policy +msgid "Hide Expense Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__id +msgid "ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__external_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__external_id +msgid "ID on Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__im_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__im_status +msgid "IM Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_category_id +msgid "" +"If a default category is selected, products imported without a category will " +"be linked to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__default_lang_id +msgid "" +"If a default language is selected, the records will be imported in the " +"translation of this language.\n" +"Note that a similar configuration exists for each storeview." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__team_id +msgid "" +"If set, this Sales Team will be used for sales and assignations related to " +"this partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_account_analytic_id +msgid "" +"If specified, this analytic account will be used to fill the field on the " +"sale order created by the connector. The value can also be specified on " +"website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "" +"If specified, this fiscal position will be used to fill the field fiscal " +"position on the sale order created by the connector.The value can also be " +"specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,help:connector_magento.field_magento_website__specific_warehouse_id +msgid "" +"If specified, this warehouse will be used to load fill the field warehouse " +"(and company) on the sale order created by the connector.The value can also " +"be specified on website or the store or the store view." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__is_blacklisted +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__is_blacklisted +msgid "" +"If the email address is on the blacklist, the contact won't receive mass " +"mailing anymore, from any list" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,help:connector_magento.field_magento_website__is_multi_company +msgid "" +"If this flag is set, it is possible to choose warehouse at each level. When " +"import partner, ignore company_id if this flag is set." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__backorder_id +msgid "" +"If this shipment was split, then this field links to the shipment which " +"contains the already processed part." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "If ticked, you will be able to select entire packages to move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__active +msgid "" +"If unchecked, it will allow you to hide the product without removing it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__picking_policy +msgid "" +"If you deliver all products at once, the delivery order will be scheduled " +"based on the greatest product lead time. Otherwise, it will be based on the " +"shortest." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__payment_term_id +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. If you keep the payment terms and the due " +"date empty, it means direct payment. The payment terms may compute several " +"due dates, for example 50% now, 50% in one month." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_due +msgid "" +"If you use payment terms, the due date will be computed automatically at the " +"generation of accounting entries. The Payment terms may compute several due " +"dates, for example 50% now and 50% in one month, but if you want to force a " +"due date, make sure that the payment term is not set on the invoice. If you " +"keep the Payment terms and the due date empty, it means direct payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__ignore_exception +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__ignore_exception +msgid "Ignore Exceptions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image +msgid "Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__product_image +msgid "" +"Image of the product variant (Big-sized image of product template if false). " +"It is automatically resized as a 1024x1024px image, with aspect ratio " +"preserved." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_medium +msgid "" +"Image of the product variant (Medium-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_small +msgid "" +"Image of the product variant (Small-sized image of product template if " +"false)." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__immediate_transfer +msgid "Immediate Transfer" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "Import Sale Orders since" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import all customer groups" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_categories_from_date +msgid "Import categories from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import in background" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import partners from all websites" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__import_partners_from_date +msgid "Import partners from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Import partners since" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products categories since" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__import_products_from_date +msgid "Import products from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import products since" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__import_orders_from_date +msgid "Import sale orders from date" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Import sales orders from all store views" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Imports" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_internal_id +msgid "" +"In Magento2, we have to keep track of both the external_id (the product SKU) " +"which is used in the Magento2 REST API, as well as the Magento internal id " +"as used in the admin URL." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_account_income_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_account_income_id +msgid "Income Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__incoming_qty +msgid "Incoming" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterm_id +msgid "Incoterm" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__incoterms_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__incoterm +msgid "Incoterms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterms_id +msgid "" +"Incoterms are series of sales terms. They are used to divide transaction " +"costs and responsibilities between buyer and seller and reflect state-of-the-" +"art transportation practices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__industry_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__industry_id +msgid "Industry" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Informations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__ref +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__default_code +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__ref +msgid "Internal Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__barcode +msgid "International Article Number used for product identification." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__incoterm_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__incoterm +msgid "" +"International Commercial Terms are a series of predefined commercial terms " +"used in international transactions." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_inventory +msgid "Inventory Location" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +msgid "Inventory Options" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_valuation +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_valuation +msgid "Inventory Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_invoice +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn +msgid "Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_count +msgid "Invoice Count" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/account_invoice/exporter.py:25 +#, python-format +msgid "Invoice Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__date_invoice +msgid "Invoice Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_icon +msgid "Invoice Icon" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__invoice_line_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_lines +msgid "Invoice Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_shipping_on_delivery +msgid "Invoice Shipping on Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_status +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__invoice_status +msgid "Invoice Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_invoice_id +msgid "Invoice address for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_id +msgid "Invoice for which this invoice is the credit note" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_invoiced +msgid "Invoiced Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__invoice_ids +msgid "Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__invoice_policy +msgid "Invoicing Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__is_multi_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__is_multi_company +msgid "Is Backend Multi-Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_is_follower +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__is_locked +msgid "Is Locked" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__is_product_variant +msgid "Is Product Variant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__is_company +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__is_company +msgid "Is a Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__customer +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__customer +msgid "Is a Customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_delivery +msgid "Is a Delivery" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_downpayment +msgid "Is a down payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is expense" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__is_expired +msgid "Is expired" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__is_expense +msgid "Is true if the sales order line comes from an expense or a vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reconciled +msgid "" +"It indicates that the invoice has been paid and the journal entry of the " +"invoice has been reconciled with one or several journal entries of payment." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__sent +msgid "It indicates that the invoice has been sent." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__move_type +msgid "It specifies goods to be deliver partially or all at once" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__function +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__function +msgid "Job Position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__journal_id +msgid "Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_id +msgid "Journal Entry" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__move_name +msgid "Journal Entry Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__journal_item_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date_invoice +msgid "Keep empty to use the current date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__date +msgid "Keep empty to use the invoice date." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_income_id +msgid "" +"Keep this field empty to use the default value from the product category." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_account_expense_id +msgid "" +"Keep this field empty to use the default value from the product category. If " +"anglo-saxon accounting with automated valuation method is configured, the " +"expense account on the product category will be used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__lang +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__lang_id +msgid "Language" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_address____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_store____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview____last_update +#: model:ir.model.fields,field_description:connector_magento.field_magento_website____last_update +msgid "Last Modified on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_uid +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__write_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__write_date +msgid "Last Updated on" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__magento_qty +msgid "Last computed quantity to send on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sync_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sync_date +msgid "Last synchronization date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "" +"Last time the invoices & payments matching was performed for this partner. " +"It is set either if there's not at least an unreconciled debit and an " +"unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__last_time_entries_checked +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_id +msgid "Link to the automatically generated Journal Items." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__location +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__location_id +msgid "Location" +msgstr "" + +#. module: connector_magento +#: model:ir.ui.menu,name:connector_magento.menu_magento_root +#: model_terms:ir.ui.view,arch_db:connector_magento.account_payment_mode_form_inherit +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_delivery_carrier_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_category_form +msgid "Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_categories_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_categories +#: model:ir.cron,name:connector_magento.ir_cron_import_product_categories +msgid "Magento - Import Product Categories" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_product_product_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_product_product +#: model:ir.cron,name:connector_magento.ir_cron_import_product_product +msgid "Magento - Import Products" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_update_product_stock_qty_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_update_product_stock_qty +#: model:ir.cron,name:connector_magento.ir_cron_update_product_stock_qty +msgid "Magento - Update Stock Quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_customer_groups_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_customer_groups +#: model:ir.cron,name:connector_magento.ir_cron_import_customer_groups +msgid "Magento - Import Customer Groups" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_partners_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_partners +#: model:ir.cron,name:connector_magento.ir_cron_import_partners +msgid "Magento - Import Partners" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.server,name:connector_magento.ir_cron_import_sale_orders_ir_actions_server +#: model:ir.cron,cron_name:connector_magento.ir_cron_import_sale_orders +#: model:ir.cron,name:connector_magento.ir_cron_import_sale_orders +msgid "Magento - Import Sales Orders" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_address +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_address_tree +msgid "Magento Address" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_address_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_address_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +msgid "Magento Address Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_backend +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__backend_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__backend_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_tree +msgid "Magento Backend" +msgstr "Magento ozadje" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_backend +msgid "Magento Backends" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_carrier_code +#, fuzzy +msgid "Magento Base Carrier Code" +msgstr "Magento ozadje" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding +msgid "Magento Binding (abstract)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_binding_model +msgid "Magento Binding Model" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_product_product__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_partner_category__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_res_users__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_sale_order_line__magento_bind_ids +#: model:ir.model.fields,field_description:connector_magento.field_stock_picking__magento_bind_ids +#: model_terms:ir.ui.view,arch_db:connector_magento.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:connector_magento.view_invoice_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_sale_order_magento_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_stock_picking_out_magento_form +msgid "Magento Bindings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_code +msgid "Magento Carrier Code" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_child_ids +msgid "Magento Child Categories" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Magento Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_config_specializer +msgid "Magento Configuration Specializer Mixin" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_stock_picking +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_stock_picking_out_tree +msgid "Magento Delivery Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_binding_backend_read +msgid "Magento Generic Object Reader Wizard" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__group_id +msgid "Magento Group (Category)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__magento_id +#, fuzzy +msgid "Magento Id" +msgstr "Magento ozadje" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__magento_internal_id +msgid "Magento Internal" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_account_invoice +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_account_invoice_tree +msgid "Magento Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_id +msgid "Magento Order ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_order_line_ids +msgid "Magento Order Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__magento_parent_id +msgid "Magento Parent Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__magento_partner_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_res_partner_tree +msgid "Magento Partner" +msgstr "Magento partner" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_product +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_tree +msgid "Magento Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_product_category +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_product_category_tree +msgid "Magento Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_type +msgid "Magento Product Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_binding_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__product_binding_ids +msgid "Magento Products" +msgstr "" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_rewards +#: model:product.template,name:connector_magento.product_product_rewards_product_template +#, fuzzy +msgid "Magento Rewards" +msgstr "Magento ozadje" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__magento_order_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__magento_order_id +msgid "Magento Sale Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_sale_order_line +msgid "Magento Sale Order Line" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_sale_order_tree +#, fuzzy +msgid "Magento Sales Orders" +msgstr "Magento partner" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_tree +msgid "Magento Store" +msgstr "" + +#. module: connector_magento +#: model:product.product,name:connector_magento.product_product_store_credit +#: model:product.template,name:connector_magento.product_product_store_credit_product_template +#, fuzzy +msgid "Magento Store Credit" +msgstr "Magento partner" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_store +msgid "Magento Stores" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_storeview +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__storeview_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_tree +msgid "Magento Storeview" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_storeview +msgid "Magento Storeviews" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_delivery_carrier__magento_tracking_title +msgid "Magento Tracking Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__taxvat +msgid "Magento VAT" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_website +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__website_id +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_tree +msgid "Magento Website" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.action_magento_website +msgid "Magento Websites" +msgstr "" + +#. module: connector_magento +#: model:res.partner.category,name:connector_magento.category_no_account +msgid "Magento guest users" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:58 +#, python-format +msgid "Magento sales order is already in state %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_main_attachment_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Main Configuration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__main_exception_id +msgid "Main Exception" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__backorders +msgid "Manage Inventory Backorders" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,manage_stock:0 +msgid "Manage Stock" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__manage_stock +msgid "Manage Stock Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_valuation +msgid "" +"Manual: The accounting entries to value the inventory are not posted " +"automatically.\n" +" Automated: An accounting entry is automatically created to value the " +"inventory when a product enters or leaves the company.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__service_type +msgid "" +"Manually set quantities on order: Invoice based on the manually entered " +"quantity, without creating an analytic account.\n" +"Timesheets on contract: Invoice based on the tracked hours on the related " +"timesheet.\n" +"Create a task and track hours: Create a task on the sales order validation " +"and track the work hours." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_medium +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_medium +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_medium +msgid "" +"Medium-sized image of this contact. It is automatically resized as a " +"128x128px image, with aspect ratio preserved. Use this field in form views " +"or some kanban views." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__invoice_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__invoice_warn_msg +msgid "Message for Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn_msg +msgid "Message for Sales Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn_msg +msgid "Message for Sales Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn_msg +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn_msg +msgid "Message for Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_ids +msgid "Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_delivered_method +msgid "Method to update delivered qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__orderpoint_ids +msgid "Minimum Stock Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__mobile +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__mobile +msgid "Mobile" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_entire_packs +msgid "Move Entire Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__name +msgid "Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signed_by +msgid "Name of the person that signed the SO." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__need_cancel +msgid "Need to be canceled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__newsletter +msgid "Newsletter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_date_deadline +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_summary +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_type_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next +msgid "Next Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sequence_number_next_prefix +msgid "Next Number Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__no_sales_order_sync +msgid "No Sales Order Synchronization" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "No Sell" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__no_stock_sync +msgid "No Stock Synchronization" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/queue_job/common.py:26 +#, python-format +msgid "" +"No admin URL configured on the backend or no admin path is defined for this " +"record." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:79 +#, python-format +msgid "No tracking number to send." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__comment +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__notes +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__note +msgid "Notes" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:364 +#: code:addons/connector_magento/components/exporter.py:369 +#, python-format +msgid "Nothing to export." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__number +msgid "Number" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__customer_lead +msgid "" +"Number of days between the order confirmation and the shipping of the " +"products to the customer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_needaction_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_has_error_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__odoo_id +msgid "Odoo Product" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "" +"Once imported,\n" +" some types of records,\n" +" like the products or categories,\n" +" need a manual review.\n" +" You will find the list\n" +" of the new records to review\n" +" in the menu 'Connectors > Checkpoint'." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_payment +msgid "Online Payment" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__require_signature +msgid "Online Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__verify_ssl +msgid "Only for Magento 2.0+" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_id +msgid "Operation Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids +msgid "Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_line_ids_without_package +msgid "Operations without package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__optional_product_ids +msgid "Optional Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_option_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sale_order_option_ids +msgid "Optional Products Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__optional_product_ids +msgid "" +"Optional Products are suggested whenever the customer hits *Add to Cart* " +"(cross-sell strategy, e.g. for computers: warranty, software, etc.)." +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Options" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__date_order +msgid "Order Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__order_line +msgid "Order Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__name +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__order_id +msgid "Order Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__state +msgid "Order Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom_qty +msgid "Ordered Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__invoice_policy +msgid "" +"Ordered Quantity: Invoice quantities ordered by the customer.\n" +"Delivered Quantity: Invoice quantities delivered to the customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__outgoing_qty +msgid "Outgoing" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__outstanding_credits_debits_widget +msgid "Outstanding Credits Debits Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__owner_id +msgid "Owner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_packaging +msgid "Package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids +msgid "Package Level" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_level_ids_details +msgid "Package Level Ids Details" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__package_ids +msgid "Packages" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reconciled +msgid "Paid/Reconciled" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_id +msgid "Parent Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__magento_parent_id +msgid "Parent Magento Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__parent_id +msgid "Parent Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__parent_path +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__parent_path +msgid "Parent Path" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_name +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_name +msgid "Parent name" +msgstr "" + +#. module: connector_magento +#: selection:magento.stock.picking,picking_method:0 +msgid "Partial" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__partner_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__odoo_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__partner_id +msgid "Partner" +msgstr "Partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__odoo_id +msgid "Partner Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__contract_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__partner_ids +#, fuzzy +msgid "Partners" +msgstr "Partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__password +msgid "Password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit_limit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_mode_id +msgid "Payment Mode" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_account_payment_mode +msgid "Payment Modes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_move_line_ids +msgid "Payment Move Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__reference +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__reference +msgid "Payment Ref." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__payment_term_id +msgid "Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__payment_token_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__payment_token_ids +msgid "Payment Tokens" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payment_ids +msgid "Payments" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__payments_widget +msgid "Payments Widget" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__phone +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__phone +msgid "Phone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_method +msgid "Picking Method" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price +msgid "Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce +msgid "Price Reduce" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxexcl +msgid "Price Reduce Tax excl" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_reduce_taxinc +msgid "Price Reduce Tax inc" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__list_price +msgid "Price at which the product is sold to customers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_product_pricelist +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__pricelist_item_ids +msgid "Pricelist Item" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__item_ids +msgid "Pricelist Items" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__pricelist_id +msgid "Pricelist for current sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__catalog_price_tax_included +msgid "Prices include tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__categ_id +msgid "Pricing/Primary Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__printed +msgid "Printed" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__priority +msgid "Priority" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__priority +msgid "" +"Priority for this picking. Setting manually a value here would set it as " +"priority for all the moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__procurement_group_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__group_id +msgid "Procurement Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_product +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__product_id +msgid "Product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__attribute_line_ids +msgid "Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_product_category +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__odoo_id +msgid "Product Category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_image +msgid "Product Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__packaging_ids +msgid "Product Packages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__type +msgid "Product Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_no_variant_attribute_value_ids +msgid "Product attribute values that do not create variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_production +msgid "Production Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_variant_ids +msgid "Products" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__delivery_type +msgid "Provider" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_purchase +msgid "Purchase Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_po_id +msgid "Purchase Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_at_date +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_qty +msgid "Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__qty_available +msgid "Quantity On Hand" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__incoming_qty +msgid "" +"Quantity of planned incoming products.\n" +"In a context with a single Stock Location, this includes goods arriving to " +"this Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods arriving to the " +"Stock Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods arriving to any Stock Location with " +"'internal' type." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__outgoing_qty +msgid "" +"Quantity of planned outgoing products.\n" +"In a context with a single Stock Location, this includes goods leaving this " +"Location, or any of its children.\n" +"In a context with a single Warehouse, this includes goods leaving the Stock " +"Location of this Warehouse, or any of its children.\n" +"Otherwise, this includes goods leaving any Stock Location with 'internal' " +"type." +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__sale_order_template_id +msgid "Quotation Template" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__expense_policy +msgid "Re-Invoice Policy" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.magento_binding_backend_read_form_view +msgid "Read Binding information from backend" +msgstr "" + +#. module: connector_magento +#: model:ir.actions.act_window,name:connector_magento.magento_binding_backend_read_act_window +msgid "Read information from backend" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/deleter.py:20 +#, python-format +msgid "Record %s deleted on Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/importer.py:191 +#, python-format +msgid "Record does no longer exist in Magento" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/components/exporter.py:371 +#, python-format +msgid "Record exported with ID %s on Magento." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__code +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__name +msgid "Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__origin +msgid "Reference of the document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__origin +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__origin +msgid "Reference of the document that produced this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__name +msgid "Reference/Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__refund_invoice_ids +msgid "Refund Invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__parent_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__parent_id +msgid "Related Company" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__related_backorder_ids +msgid "Related backorders" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__remaining_validity_days +msgid "Remaining Validity Days" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_company_signed +msgid "Remaining amount due in the currency of the company." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual_signed +msgid "Remaining amount due in the currency of the invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__residual +msgid "Remaining amount due." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/common.py:136 +#, python-format +msgid "Reopen sales order %s" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_max_qty +msgid "Reordering Max Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__reordering_min_qty +msgid "Reordering Min Qty" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__nbr_reordering_rules +msgid "Reordering Rules" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_signature +msgid "" +"Request a online signature to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__require_payment +msgid "" +"Request an online payment to the customer in order to confirm orders " +"automatically." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__responsible_id +msgid "Responsible" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__activity_user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__route_id +msgid "Route" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__route_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__route_ids +msgid "Routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__description_sale +msgid "Sale Description" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__odoo_id +msgid "Sale Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_count +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__odoo_id +msgid "Sale Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__sale_prefix +msgid "Sale Prefix" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__lst_price +msgid "Sale Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__workflow_process_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__workflow_process_id +msgid "Sale Workflow Process" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:53 +#, python-format +msgid "Sale is not linked with a Magento sales order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_order_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__sale_id +msgid "Sales Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_sale_order_line +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sale_line_warn +msgid "Sales Order Line" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__list_price +msgid "Sales Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__team_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__team_id +msgid "Sales Team" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__user_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__salesman_id +msgid "Salesperson" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__scheduled_date +msgid "Scheduled Date" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__scheduled_date +msgid "" +"Scheduled time for the first part of the shipment to be processed. Setting " +"manually a value here would set it as expected date for all the stock moves." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__access_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__access_token +msgid "Security Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__categ_id +msgid "Select category for the current product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__customer_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__customer_payment_mode_id +msgid "Select the default payment mode for this customer." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Select the default payment mode for this supplier." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_address__sale_warn +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__sale_line_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__invoice_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__sale_warn +msgid "" +"Selecting the \"Warning\" option will notify user with the message, " +"Selecting \"Blocking Message\" will throw an exception with the message and " +"block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__self +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__self +msgid "Self" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +msgid "Sell Quantity < 0 and Use Customer Notification" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_invoice_paid_mail +msgid "Send email notification on invoice validated/paid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__send_picking_done_mail +msgid "Send email notification on picking done" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__sent +msgid "Sent" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sequence +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__sequence +msgid "Sequence" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__removal_strategy_id +msgid "" +"Set a specific removal strategy that will be used regardless of the source " +"location for this product category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__partner_share +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__partner_share +#, fuzzy +msgid "Share Partner" +msgstr "Magento partner" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_price +msgid "Shipping Cost" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/exporter.py:24 +#, python-format +msgid "Shipping Created" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__picking_policy +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_type +msgid "Shipping Policy" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_account_payment_mode__create_invoice_on +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"If nothing is set, the option falls back to the same option on the Magento " +"store related to the sales order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_store__create_invoice_on +msgid "" +"Should the invoice be created in Magento when it is validated or when it is " +"paid in Odoo?\n" +"This only takes effect if the sales order's related payment method is not " +"giving an option for this by itself. (See Payment Methods)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_check_availability +msgid "Show Check Availability" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_lots_text +msgid "Show Lots Text" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "Show Mark As Todo" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_operations +msgid "Show Operations" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__show_validate +msgid "Show Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signature +msgid "Signature" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__signature +msgid "Signature received through the portal." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__signed_by +msgid "Signed by" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_expiration +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_token +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_token +msgid "Signup Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_type +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_valid +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__signup_url +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__signup_url +msgid "Signup URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_small +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__image_small +msgid "Small-sized image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image_small +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image_small +msgid "" +"Small-sized image of this contact. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__sales_count +msgid "Sold" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__sort_order +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__sort_order +msgid "Sort Order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__origin +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__origin +msgid "Source Document" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__source_email +msgid "Source Email" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__location_id +msgid "Source Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_account_analytic_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_account_analytic_id +msgid "Specific analytic account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_fiscal_position_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_fiscal_position_id +msgid "Specific fiscal position" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__specific_warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__specific_warehouse_id +msgid "Specific warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_cost_method +msgid "" +"Standard Price: The products are valued at their standard cost defined on " +"the product.\n" +" Average Cost (AVCO): The products are valued at weighted average " +"cost.\n" +" First In First Out (FIFO): The products are valued supposing those " +"that enter the company first will also leave it first.\n" +" " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__hs_code +msgid "" +"Standardized code for international shipping and goods declaration. At the " +"moment, only used for the FedEx shipping provider." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__state_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_binding_backend_read__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__state_id +msgid "State" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/sale_order/exporter.py:50 +#, python-format +msgid "State %s is not exported." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__state +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__state +msgid "Status" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_address__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__activity_state +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__product_stock_field_id +msgid "Stock Field" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_manual_move_ids +msgid "Stock Fifo Manual Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_fifo_real_time_aml_ids +msgid "Stock Fifo Real Time Aml" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_input +msgid "Stock Input Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_journal +msgid "Stock Journal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_move_ids +msgid "Stock Move" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__move_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_lines +msgid "Stock Moves" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__property_stock_account_output +msgid "Stock Output Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__picking_warn +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__odoo_id +msgid "Stock Picking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Stock Quant" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "Stock Valuation Account" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value_currency_id +msgid "Stock Value Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__move_ids_without_package +msgid "Stock moves not in package" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__store_id +msgid "Store" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__store_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_store +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_website_form +msgid "Stores" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__store_id +msgid "Storeview" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__storeview_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_storeview +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_store_form +msgid "Storeviews" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street +msgid "Street" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__street2 +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__street2 +msgid "Street2" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_subtotal +msgid "Subtotal" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__supplier_payment_mode_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__supplier_payment_mode_id +msgid "Supplier Payment Mode" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Synchronize Metadata" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__name +msgid "Tag Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__category_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__category_id +msgid "Tags" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax +msgid "Tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner_category__tax_class_id +msgid "Tax Class ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax Group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__vat +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__vat +msgid "Tax ID" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__tax_line_ids +msgid "Tax Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_rate +msgid "Tax Rate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_by_group +msgid "Tax amount by group" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__tax_group_id +msgid "Tax groups are used with some external system like Prestashop" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_tax_signed +msgid "Tax in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_tax +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__tax_id +msgid "Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_archived_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_existing_variant_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Technical compute" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__display_type +msgid "Technical field for UX purpose." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__move_name +msgid "" +"Technical field holding the number given to the invoice, automatically set " +"when the invoice is validated then stored to set the same number again if " +"the invoice is cancelled, set to draft and re-validated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_check_availability +msgid "" +"Technical field used to compute whether the check availability button should " +"be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_mark_as_todo +msgid "" +"Technical field used to compute whether the mark as todo button should be " +"shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__show_validate +msgid "Technical field used to compute whether the validate should be shown." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__pricelist_id +msgid "" +"Technical field. Used for searching on pricelists, not stored in database." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_move_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__stock_quant_ids +msgid "Technical: used to compute quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__product_template_attribute_value_ids +msgid "Template Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__note +msgid "Terms and conditions" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__vat +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__vat +msgid "" +"The Tax Identification Number. Complete it if the contact is subjected to " +"government taxes. Used in some legal statements." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount +msgid "" +"The amount computed in Odoo doesn't match with the amount in Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__analytic_account_id +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/stock_picking/tracking_exporter.py:76 +#, python-format +msgid "The carrier %s does not export tracking numbers." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__commercial_partner_id +msgid "" +"The commercial entity that will be used on Journal Entries for this invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__company_id +msgid "The company is automatically set from your user preferences." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/importer.py:328 +#, python-format +msgid "" +"The configurable product is not imported in Odoo, because only the simple " +"products are used in the sales orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_custom_api_path +msgid "" +"The default API path is '/index.php/api/xmlrpc'. Check this box if you use a " +"custom API path, in that case, the location has to be completed with the " +"custom API path " +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_expense_categ_id +msgid "" +"The expense is accounted for when a vendor bill is validated, except in " +"anglo-saxon accounting with perpetual inventory valuation in which case the " +"expense (Cost of Goods Sold account) is recognized at the customer invoice " +"validation." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_position_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_position_id +msgid "" +"The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__user_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__name +msgid "The name that will be used on account move lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__product_count +msgid "" +"The number of products under this category (Does not consider the children " +"categories)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__account_id +msgid "The partner account used for this invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__has_unreconciled_entries +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__has_unreconciled_entries +msgid "" +"The partner has at least one unreconciled debit and credit since last time " +"the invoices & payments matching was performed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__tz +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__tz +msgid "" +"The partner's timezone, used to output proper date and time values inside " +"printed reports. It is important to set a value for this field. You should " +"use the same timezone that is otherwise used to pick and render date and " +"time values: your computer's timezone." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__reference +msgid "The payment communication of this sale order." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__reference +msgid "" +"The payment communication that will be automatically populated once the " +"invoice validation. You can also write a free communication." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__currency_rate +msgid "" +"The rate of the currency to the currency of rate 1 applicable at the date of " +"the order" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__lst_price +msgid "" +"The sale price is managed from the product template. Click on the 'Configure " +"Variants' button to set the extra attribute prices." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_customer +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_customer +msgid "" +"The stock location used as destination when sending goods to this contact." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "" +"The stock location used as source when receiving goods from this contact." +msgstr "" + +#. module: connector_magento +#: model:exception.rule,description:connector_magento.excep_wrong_total_amount_tax +msgid "" +"The tax amount computed in Odoo doesn't match with the tax amount in " +"Magento.\n" +"\n" +"Cause:\n" +"The taxes are probably different between Odoo and Magento. A fiscal position " +"could have changed the final price.\n" +"\n" +"Resolution:\n" +"Check your taxes and fiscal positions configuration and correct them if " +"necessary." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__volume +msgid "The volume in m3." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:41 +#, python-format +msgid "The wizard must be launched from a magento backend model" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/wizards/magento_binding_backend_read.py:45 +#, python-format +msgid "The wizard must be launched on a single magento backend instance" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_payable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_payable_id +msgid "" +"This account will be used instead of the default one as the payable account " +"for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_account_receivable_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_account_receivable_id +msgid "" +"This account will be used instead of the default one as the receivable " +"account for the current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_account_income_categ_id +msgid "This account will be used when validating a customer invoice." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_delivery_carrier_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__image +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__image +msgid "" +"This field holds the image used as avatar for this contact, limited to " +"1024x1024px" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__image_variant +msgid "" +"This field holds the image used as image for the product variant, limited to " +"1024x1024px." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__commitment_date +msgid "" +"This is the delivery date promised to the customer. If set, the delivery " +"order will be scheduled based on this date rather than product lead times." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__price_extra +msgid "This is the sum of the extra price of all attributes" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_storeview_form +msgid "" +"This option should respect the same\n" +" configuration as Magento. Pay\n" +" attention to the taxes on the products,\n" +" which should surely include prices when\n" +" this option is activated." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "" +"This payment term will be used instead of the default one for purchase " +"orders and vendor bills" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_payment_term_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_payment_term_id +msgid "" +"This payment term will be used instead of the default one for sales orders " +"and customer invoices" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__property_product_pricelist +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__property_product_pricelist +msgid "" +"This pricelist will be used, instead of the default one, for sales to the " +"current partner" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_production +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated by manufacturing orders." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_inventory +msgid "" +"This stock location will be used, instead of the default one, as the source " +"location for stock moves generated when you do an inventory." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__responsible_id +msgid "" +"This user will be responsible of the next activities related to logistic " +"operations for this product." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz +msgid "Timezone" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__tz_offset +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__title +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__title +msgid "Title" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__qty_to_invoice +msgid "To Invoice Quantity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__token +msgid "Token" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_total +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_total +msgid "Total" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount +msgid "Total Amount differs from Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__total_invoiced +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__total_invoiced +msgid "Total Invoiced" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__debit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__debit +msgid "Total Payable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__credit +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__credit +msgid "Total Receivable" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_tax +msgid "Total Tax" +msgstr "" + +#. module: connector_magento +#: model:exception.rule,name:connector_magento.excep_wrong_total_amount_tax +msgid "Total Tax Amount differs from Magento" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount +msgid "Total amount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total amount in the currency of the company, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total amount in the currency of the invoice, negative for credit notes." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__credit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__total_amount_tax +msgid "Total amount w. tax" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__debit +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_company_signed +msgid "Total in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_total_signed +msgid "Total in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_category__total_route_ids +msgid "Total routes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__service_type +msgid "Track Service" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__tracking +msgid "Tracking" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_ref +msgid "Tracking Reference" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__carrier_tracking_url +msgid "Tracking URL" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__transaction_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__transaction_ids +msgid "Transactions" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__type +msgid "Type" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__type_name +msgid "Type Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__picking_type_code +msgid "Type of Operation" +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/magento_website/importer.py:21 +#, python-format +msgid "Undefined" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__price_unit +msgid "Unit Price" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_uom +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__uom_name +msgid "Unit of Measure Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__weight_uom_id +msgid "Unit of measurement for Weight" +msgstr "" + +#. module: connector_magento +#: model:product.product,uom_name:connector_magento.product_product_rewards +#: model:product.product,uom_name:connector_magento.product_product_store_credit +#: model:product.template,uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,uom_name:connector_magento.product_product_store_credit_product_template +msgid "Unit(s)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__message_unread_counter +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__amount_untaxed +msgid "Untaxed Amount" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_to_invoice +msgid "Untaxed Amount To Invoice" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_signed +msgid "Untaxed Amount in Company Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__amount_untaxed_invoice_signed +msgid "Untaxed Amount in Invoice Currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__untaxed_amount_invoiced +msgid "Untaxed Invoiced Amount" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Update all the products stock quantities" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__updated_at +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__updated_at +msgid "Updated At (on Magento)" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__location +msgid "Url to magento application" +msgstr "" + +#. module: connector_magento +#: selection:magento.product.product,backorders:0 +#: selection:magento.product.product,manage_stock:0 +msgid "Use Default Config" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__use_auth_basic +msgid "Use HTTP Auth Basic" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__use_auth_basic +msgid "" +"Use a Basic Access Authentication for the API. The Magento server could be " +"configured to restrict access using a HTTP authentication based on a " +"username and a password." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__barcode +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__type +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__type +msgid "" +"Used by Sales and Purchase Apps to select the relevant address depending on " +"the context." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order_line__product_custom_attribute_value_ids +msgid "User entered custom product attribute values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__username +msgid "Username" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__user_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__user_ids +msgid "Users" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_address__currency_id +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_archived_variant_ids +msgid "Valid Archived Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_existing_variant_ids +msgid "Valid Existing Variants" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_ids +msgid "Valid Product Attribute Lines" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_template_attribute_line_wnva_ids +msgid "Valid Product Attribute Lines Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_ids +msgid "Valid Product Attribute Values" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_value_wnva_ids +msgid "Valid Product Attribute Values Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_ids +msgid "Valid Product Attributes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valid_product_attribute_wnva_ids +msgid "Valid Product Attributes Without No Variant Attributes" +msgstr "" + +#. module: connector_magento +#: selection:account.payment.mode,create_invoice_on:0 +#: selection:magento.store,create_invoice_on:0 +msgid "Validate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__validity_date +msgid "Validity" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__validity_date +msgid "" +"Validity date of the quotation, after this date, the customer won't be able " +"to validate the quotation online." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__valuation +msgid "Valuation" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__stock_value +msgid "Value" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__image_variant +msgid "Variant Image" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__price_extra +msgid "Variant Price Extra" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__variant_seller_ids +msgid "Variant Seller" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_bill_id +msgid "Vendor Bill" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__vendor_display_name +msgid "Vendor Display Name" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_stock_supplier +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_stock_supplier +msgid "Vendor Location" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__property_supplier_payment_term_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__supplier_taxes_id +msgid "Vendor Taxes" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__seller_ids +msgid "Vendors" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__verify_ssl +msgid "Verify SSL certificate" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__version +msgid "Version" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__volume +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__volume +msgid "Volume" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__warehouse_id +msgid "Warehouse" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__warehouse_id +msgid "Warehouse used to compute the stock quantities." +msgstr "" + +#. module: connector_magento +#: code:addons/connector_magento/models/product/common.py:188 +#, python-format +msgid "" +"We have to import the product before we can provide the admin link to it." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__password +msgid "Webservice password" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_backend__username +msgid "Webservice user" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website +#: model:ir.model.fields,field_description:connector_magento.field_magento_backend__website_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website +msgid "Website" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_address__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_res_partner__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__website_message_ids +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__website_ids +#: model:ir.ui.menu,name:connector_magento.menu_magento_website +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "Websites" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__weight +msgid "Weight" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_id +msgid "Weight Unit of Measure" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_stock_picking__shipping_weight +msgid "Weight for Shipping" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__weight +msgid "" +"Weight of the product, packaging not included. The unit of measure can be " +"changed in the general settings" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_product_product__weight_uom_name +msgid "Weight unit of measure label" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_input_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. This is the default " +"value for all products in this category. It can also directly be set on each " +"product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_input +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"incoming stock moves will be posted in this account, unless there is a " +"specific valuation account set on the source location. When not set on the " +"product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_account_output_categ_id +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. This is the " +"default value for all products in this category. It can also directly be set " +"on each product" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_product__property_stock_account_output +msgid "" +"When doing real-time inventory valuation, counterpart journal items for all " +"outgoing stock moves will be posted in this account, unless there is a " +"specific valuation account set on the destination location. When not set on " +"the product, the one from the product category is used." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_journal +msgid "" +"When doing real-time inventory valuation, this is the Accounting Journal in " +"which entries will be automatically posted when stock moves are processed." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_product_category__property_stock_valuation_account_id +msgid "" +"When real-time inventory valuation is enabled on a product, this account " +"will hold the current value of the products." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_stock_picking__is_locked +msgid "" +"When the picking is not done this allows changing the initial demand. When " +"the picking is done this allows changing the done quantities." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__partner_id +msgid "You can find a contact by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__partner_id +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order_line__order_partner_id +msgid "You can find a customer by its Name, TIN, Email or Internal Reference." +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_address__zip +#: model:ir.model.fields,field_description:connector_magento.field_magento_res_partner__zip +msgid "Zip" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "choose" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_storeview__import_orders_from_date +msgid "" +"do not consider non-imported sale orders before this date. Leave empty to " +"import all sale orders" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "e.g. http://my.magento.com/admin" +msgstr "" + +#. module: connector_magento +#: selection:magento.binding.backend.read,state:0 +msgid "get" +msgstr "" + +#. module: connector_magento +#: model:product.product,weight_uom_name:connector_magento.product_product_rewards +#: model:product.product,weight_uom_name:connector_magento.product_product_store_credit +#: model:product.template,weight_uom_name:connector_magento.product_product_rewards_product_template +#: model:product.template,weight_uom_name:connector_magento.product_product_store_credit_product_template +msgid "kg" +msgstr "" + +#. module: connector_magento +#: model_terms:ir.ui.view,arch_db:connector_magento.view_magento_backend_form +msgid "mag-" +msgstr "" + +#. module: connector_magento +#: model:ir.model,name:connector_magento.model_magento_res_partner_category +msgid "magento.res.partner.category" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,help:connector_magento.field_magento_account_invoice__amount_by_group +#: model:ir.model.fields,help:connector_magento.field_magento_sale_order__amount_by_group +msgid "type: [(name, amount, base, formated amount, formated base)]" +msgstr "" + +#. module: connector_magento +#: model:ir.model.fields,field_description:connector_magento.field_magento_config_specializer__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_store__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_storeview__warehouse_id +#: model:ir.model.fields,field_description:connector_magento.field_magento_website__warehouse_id +msgid "warehouse" +msgstr "" + +#, fuzzy +#~ msgid "Magento backend id" +#~ msgstr "Magento ozadje" diff --git a/connector_magento/images/connector_magento.png b/connector_magento/images/connector_magento.png new file mode 100644 index 000000000..bf1901f39 Binary files /dev/null and b/connector_magento/images/connector_magento.png differ diff --git a/connector_magento/images/invoice_binding.png b/connector_magento/images/invoice_binding.png new file mode 100644 index 000000000..78c008280 Binary files /dev/null and b/connector_magento/images/invoice_binding.png differ diff --git a/connector_magento/images/jobs.png b/connector_magento/images/jobs.png new file mode 100644 index 000000000..f619b347b Binary files /dev/null and b/connector_magento/images/jobs.png differ diff --git a/connector_magento/images/magento-hover.png b/connector_magento/images/magento-hover.png new file mode 100644 index 000000000..80fb1c9ac Binary files /dev/null and b/connector_magento/images/magento-hover.png differ diff --git a/connector_magento/images/magento.png b/connector_magento/images/magento.png new file mode 100644 index 000000000..a261394e0 Binary files /dev/null and b/connector_magento/images/magento.png differ diff --git a/connector_magento/images/magento_backend.png b/connector_magento/images/magento_backend.png new file mode 100644 index 000000000..ddaab36eb Binary files /dev/null and b/connector_magento/images/magento_backend.png differ diff --git a/connector_magento/images/product_binding.png b/connector_magento/images/product_binding.png new file mode 100644 index 000000000..ed361aa6f Binary files /dev/null and b/connector_magento/images/product_binding.png differ diff --git a/connector_magento/migrations/7.0.2.5.0/post-migration.py b/connector_magento/migrations/7.0.2.5.0/post-migration.py new file mode 100644 index 000000000..8b0b10edf --- /dev/null +++ b/connector_magento/migrations/7.0.2.5.0/post-migration.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Ondřej Kuzník +# Copyright 2014 credativ, ltd. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import logging + +logger = logging.getLogger('upgrade') + + +def migrate(cr, version): + """ + The tax inclusion setting has moved from the backend to the storeview. + """ + if version: # do not run on a fresh DB, see lp:1259975 + logger.info("Migrating connector_magento from version %s", version) + cr.execute("UPDATE magento_storeview msw " + "SET catalog_price_tax_included = " + " (SELECT mb.catalog_price_tax_included " + " FROM magento_backend mb WHERE " + " mb.id = msw.backend_id)") + cr.execute("ALTER TABLE magento_backend DROP " + " COLUMN catalog_price_tax_included") diff --git a/connector_magento/migrations/8.0.3.0.0/pre-migration.py b/connector_magento/migrations/8.0.3.0.0/pre-migration.py new file mode 100644 index 000000000..238d2740c --- /dev/null +++ b/connector_magento/migrations/8.0.3.0.0/pre-migration.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Ondřej Kuzník +# Copyright 2014 credativ, ltd. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import logging + +logger = logging.getLogger('upgrade') + + +def migrate(cr, version): + """ + Rename magento.stock.picking.out to magento.stock.picking + """ + if version: # do not run on a fresh DB, see lp:1259975 + logger.info("Migrating connector_magento from version %s", version) + + old = 'magento_stock_picking_out' + new = 'magento_stock_picking' + logger.info("model %s: renaming to %s", old, new) + cr.execute("ALTER TABLE %s RENAME TO %s" % (old, new)) + cr.execute("ALTER SEQUENCE %s_id_seq RENAME TO %s_id_seq" % (old, new)) + cr.execute('UPDATE ir_model SET model = %s ' + 'WHERE model = %s', (new, old,)) + cr.execute('UPDATE ir_model_fields SET relation = %s ' + 'WHERE relation = %s', (new, old,)) + cr.execute('UPDATE ir_model_data SET model = %s ' + 'WHERE model = %s', (new, old,)) + cr.execute('ALTER INDEX %s_pkey RENAME to %s_fkey' % (old, new)) + # the constraint will be created again on update + cr.execute('ALTER TABLE %s DROP CONSTRAINT ' + '%s_magento_uniq' % (new, old)) diff --git a/connector_magento/models/__init__.py b/connector_magento/models/__init__.py new file mode 100644 index 000000000..4e1bf7694 --- /dev/null +++ b/connector_magento/models/__init__.py @@ -0,0 +1,16 @@ +from . import magento_binding # should be loaded first for inheritance + +from . import account_invoice +from . import account_payment_mode +from . import delivery +from . import magento_backend +from . import magento_store +from . import magento_storeview +from . import magento_website +from . import partner +from . import partner_category +from . import product +from . import product_category +from . import queue_job +from . import sale_order +from . import stock_picking diff --git a/connector_magento/models/account_invoice/__init__.py b/connector_magento/models/account_invoice/__init__.py new file mode 100644 index 000000000..2db3f18cd --- /dev/null +++ b/connector_magento/models/account_invoice/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import exporter diff --git a/connector_magento/models/account_invoice/common.py b/connector_magento/models/account_invoice/common.py new file mode 100644 index 000000000..224f25373 --- /dev/null +++ b/connector_magento/models/account_invoice/common.py @@ -0,0 +1,171 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import logging +import xmlrpc.client +from odoo import api, models, fields +from odoo.addons.component.core import Component +from odoo.addons.queue_job.job import job, related_action +from odoo.addons.connector.exception import IDMissingInBackend + +_logger = logging.getLogger(__name__) + + +class MagentoAccountInvoice(models.Model): + """ Binding Model for the Magento Invoice """ + _name = 'magento.account.invoice' + _inherit = 'magento.binding' + _inherits = {'account.invoice': 'odoo_id'} + _description = 'Magento Invoice' + + odoo_id = fields.Many2one(comodel_name='account.invoice', + string='Invoice', + required=True, + ondelete='cascade') + magento_order_id = fields.Many2one(comodel_name='magento.sale.order', + string='Magento Sale Order', + ondelete='set null') + + _sql_constraints = [ + ('odoo_uniq', 'unique(backend_id, odoo_id)', + 'A Magento binding for this invoice already exists.'), + ] + + @job(default_channel='root.magento') + @related_action(action='related_action_unwrap_binding') + @api.multi + def export_record(self): + """ Export a validated or paid invoice. """ + self.ensure_one() + with self.backend_id.work_on(self._name) as work: + exporter = work.component(usage='record.exporter') + return exporter.run(self) + + +class AccountInvoice(models.Model): + """ Adds the ``one2many`` relation to the Magento bindings + (``magento_bind_ids``) + """ + _inherit = 'account.invoice' + + magento_bind_ids = fields.One2many( + comodel_name='magento.account.invoice', + inverse_name='odoo_id', + string='Magento Bindings', + ) + + +class AccountInvoiceAdapter(Component): + """ Backend Adapter for the Magento Invoice """ + + _name = 'magento.invoice.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.account.invoice' + + _magento_model = 'sales_order_invoice' + _admin_path = 'sales_invoice/view/invoice_id/{id}' + # Not valid without security key + # _admin2_path = 'sales/order_invoice/view/invoice_id/{id}' + + def _call(self, method, arguments, http_method=None): + try: + return super(AccountInvoiceAdapter, self)._call( + method, arguments, http_method=http_method) + except xmlrpc.client.Fault as err: + # this is the error in the Magento API + # when the invoice does not exist + if err.faultCode == 100: + raise IDMissingInBackend + else: + raise + + def create(self, order_increment_id, items, comment, email, + include_comment): + """ Create a record on the external system """ + # pylint: disable=method-required-super + if self.collection.version == '1.7': + return self._call('%s.create' % self._magento_model, + [order_increment_id, items, comment, + email, include_comment]) + + # Compose payload for Magento 2.x + arguments = { + 'capture': False, + 'items': [{'orderItemId': key, 'qty': value} + for key, value in items.items()], + 'comment': { + 'comment': comment, + 'isVisibleOnFront': 0, + }, + 'appendComment': include_comment, + } + return self._call( + 'order/%s/invoice' % order_increment_id, arguments, + http_method='post') + + def search_read(self, filters=None, order_id=None): + """ Search records according to some criterias + and returns their information + + :param order_id: 'order_id' field of the magento sale order, this + is not the same field than 'increment_id' + """ + if filters is None: + filters = {} + if order_id is not None: + filters['order_id'] = {'eq': order_id} + return super(AccountInvoiceAdapter, self).search_read(filters=filters) + + +class MagentoBindingInvoiceListener(Component): + _name = 'magento.binding.account.invoice.listener' + _inherit = 'base.event.listener' + _apply_on = ['magento.account.invoice'] + + def on_record_create(self, record, fields=None): + record.with_delay().export_record() + + +class MagentoInvoiceListener(Component): + _name = 'magento.account.invoice.listener' + _inherit = 'base.event.listener' + _apply_on = ['account.invoice'] + + def on_invoice_paid(self, record): + self.invoice_create_bindings(record) + + def on_invoice_validated(self, record): + self.invoice_create_bindings(record) + + def invoice_create_bindings(self, invoice): + """ + Create a ``magento.account.invoice`` record. This record will then + be exported to Magento. + """ + # find the magento store to retrieve the backend + # we use the shop as many sale orders can be related to an invoice + sales = invoice.mapped('invoice_line_ids.sale_line_ids.order_id') + for sale in sales: + for magento_sale in sale.magento_bind_ids: + binding_exists = False + for mag_inv in invoice.magento_bind_ids: + if mag_inv.backend_id.id == magento_sale.backend_id.id: + binding_exists = True + break + if binding_exists: + continue + # Check if invoice state matches configuration setting + # for when to export an invoice + magento_store = magento_sale.store_id + payment_mode = sale.payment_mode_id + if payment_mode and payment_mode.create_invoice_on: + create_invoice = payment_mode.create_invoice_on + else: + create_invoice = magento_store.create_invoice_on + + if create_invoice == invoice.state: + self.env['magento.account.invoice'].create({ + 'backend_id': magento_sale.backend_id.id, + 'odoo_id': invoice.id, + 'magento_order_id': magento_sale.id}) diff --git a/connector_magento/models/account_invoice/exporter.py b/connector_magento/models/account_invoice/exporter.py new file mode 100644 index 000000000..016315a70 --- /dev/null +++ b/connector_magento/models/account_invoice/exporter.py @@ -0,0 +1,108 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import logging + +import xmlrpc.client + +from odoo import _ +from odoo.addons.component.core import Component + +_logger = logging.getLogger(__name__) + + +class MagentoInvoiceExporter(Component): + """ Export invoices to Magento """ + _name = 'magento.account.invoice.exporter' + _inherit = 'magento.exporter' + _apply_on = ['magento.account.invoice'] + + def _export_invoice(self, external_id, lines_info, mail_notification): + if not lines_info: # invoice without any line for the sale order + return + return self.backend_adapter.create(external_id, + lines_info, + _("Invoice Created"), + mail_notification, + False) + + def _get_lines_info(self, invoice): + """ + Get the line to export to Magento. In case some lines doesn't have a + matching on Magento, we ignore them. This allow to add lines manually. + + :param invoice: invoice is an magento.account.invoice record + :type invoice: browse_record + :return: dict of {magento_product_id: quantity} + :rtype: dict + """ + item_qty = {} + # get product and quantities to invoice + # if no magento id found, do not export it + order = invoice.magento_order_id + for line in invoice.invoice_line_ids: + product = line.product_id + # find the order line with the same product + # and get the magento item_id (id of the line) + # to invoice + order_line = next((line for line in order.magento_order_line_ids + if line.product_id.id == product.id), + None) + if order_line is None: + continue + + item_id = order_line.external_id + item_qty.setdefault(item_id, 0) + item_qty[item_id] += line.quantity + return item_qty + + def run(self, binding): + """ Run the job to export the validated/paid invoice """ + + magento_order = binding.magento_order_id + magento_store = magento_order.store_id + mail_notification = magento_store.send_invoice_paid_mail + + lines_info = self._get_lines_info(binding) + external_id = None + try: + external_id = self._export_invoice(magento_order.external_id, + lines_info, + mail_notification) + except xmlrpc.client.Fault as err: + # When the invoice is already created on Magento, it returns: + # + # We'll search the Magento invoice ID to store it in Odoo + if err.faultCode == 102: + _logger.debug('Invoice already exists on Magento for ' + 'sale order with magento id %s, trying to find ' + 'the invoice id.', + magento_order.external_id) + external_id = self._get_existing_invoice(magento_order) + if external_id is None: + # In that case, we let the exception bubble up so + # the user is informed of the 102 error. + # We couldn't find the invoice supposedly existing + # so an investigation may be necessary. + raise + else: + raise + # When the invoice already exists on Magento, it may return + # a 102 error (handled above) or return silently without ID + if not external_id: + # If Magento returned no ID, try to find the Magento + # invoice, but if we don't find it, let consider the job + # as done, because Magento did not raised an error + external_id = self._get_existing_invoice(magento_order) + + if external_id: + self.binder.bind(external_id, binding.id) + + def _get_existing_invoice(self, magento_order): + invoices = self.backend_adapter.search_read( + order_id=magento_order.magento_order_id) + if not invoices: + return + if len(invoices) > 1: + return + return invoices[0]['increment_id'] diff --git a/connector_magento/models/account_payment_mode/__init__.py b/connector_magento/models/account_payment_mode/__init__.py new file mode 100644 index 000000000..e4193cf05 --- /dev/null +++ b/connector_magento/models/account_payment_mode/__init__.py @@ -0,0 +1 @@ +from . import common diff --git a/connector_magento/models/account_payment_mode/common.py b/connector_magento/models/account_payment_mode/common.py new file mode 100644 index 000000000..25ecf925a --- /dev/null +++ b/connector_magento/models/account_payment_mode/common.py @@ -0,0 +1,19 @@ +# © 2013-2019 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, fields + + +class AccountPaymentMode(models.Model): + _inherit = "account.payment.mode" + + create_invoice_on = fields.Selection( + selection=[('open', 'Validate'), + ('paid', 'Paid')], + string='Create invoice on action', + help="Should the invoice be created in Magento " + "when it is validated or when it is paid in Odoo?\n" + "If nothing is set, the option falls back to the same option " + "on the Magento store related to the sales order.", + ) diff --git a/connector_magento/models/delivery/__init__.py b/connector_magento/models/delivery/__init__.py new file mode 100644 index 000000000..e4193cf05 --- /dev/null +++ b/connector_magento/models/delivery/__init__.py @@ -0,0 +1 @@ +from . import common diff --git a/connector_magento/models/delivery/common.py b/connector_magento/models/delivery/common.py new file mode 100644 index 000000000..ccd08a1ef --- /dev/null +++ b/connector_magento/models/delivery/common.py @@ -0,0 +1,57 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, fields, api + + +# TODO magento.delivery.carrier & move specific stuff +class DeliveryCarrier(models.Model): + """ Adds Magento specific fields to ``delivery.carrier`` + + ``magento_code`` + + Code of the carrier delivery method in Magento. + Example: ``colissimo_express`` + + ``magento_tracking_title`` + + Display name of the carrier for the tracking in Magento. + Example: Colissimo Express + + ``magento_carrier_code`` + + General code of the carrier, the first part of the ``magento_code``. + Example: ``colissimo`` for the method ``colissimo_express``. + + ``magento_export_tracking`` + + Defines if the tracking numbers should be exported to Magento. + """ + _inherit = "delivery.carrier" + + magento_code = fields.Char( + string='Magento Carrier Code', + required=False, + ) + magento_tracking_title = fields.Char( + string='Magento Tracking Title', + required=False, + ) + # in Magento, the delivery method is something like that: + # tntmodule2_tnt_basic + # where the first part before the first _ is always the carrier code + # in this example, the carrier code is tntmodule2 + magento_carrier_code = fields.Char( + compute='_compute_carrier_code', + string='Magento Base Carrier Code', + ) + magento_export_tracking = fields.Boolean(string='Export tracking numbers', + default=True) + + @api.depends('magento_code') + def _compute_carrier_code(self): + for carrier in self: + if carrier.magento_code: + carrier.magento_carrier_code = carrier.magento_code.split( + '_')[0] diff --git a/connector_magento/models/magento_backend/__init__.py b/connector_magento/models/magento_backend/__init__.py new file mode 100644 index 000000000..79ab5dc6b --- /dev/null +++ b/connector_magento/models/magento_backend/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import importer diff --git a/connector_magento/models/magento_backend/common.py b/connector_magento/models/magento_backend/common.py new file mode 100644 index 000000000..8b6566906 --- /dev/null +++ b/connector_magento/models/magento_backend/common.py @@ -0,0 +1,436 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +from contextlib import contextmanager + +from datetime import datetime, timedelta +from odoo import models, fields, api, _ +from odoo.tools import ustr +from odoo.exceptions import UserError + +from odoo.addons.connector.models.checkpoint import add_checkpoint +from ...components.backend_adapter import MagentoLocation, MagentoAPI + +_logger = logging.getLogger(__name__) + +IMPORT_DELTA_BUFFER = 30 # seconds + + +class MagentoBackend(models.Model): + _name = 'magento.backend' + _description = 'Magento Backend' + _inherit = 'connector.backend' + + @api.model + def select_versions(self): + """ Available versions in the backend. + + Can be inherited to add custom versions. Using this method + to add a version from an ``_inherit`` does not constrain + to redefine the ``version`` field in the ``_inherit`` model. + """ + return [('1.7', '1.7+'), ('2.0', '2.0+')] + + @api.model + def _get_stock_field_id(self): + field = self.env['ir.model.fields'].search( + [('model', '=', 'product.product'), + ('name', '=', 'virtual_available')], + limit=1) + return field + + name = fields.Char(string='Name', required=True) + version = fields.Selection(selection='select_versions', required=True) + location = fields.Char( + string='Location', + required=True, + help="Url to magento application", + ) + admin_location = fields.Char(string='Admin Location') + use_custom_api_path = fields.Boolean( + string='Custom Api Path', + help="The default API path is '/index.php/api/xmlrpc'. " + "Check this box if you use a custom API path, in that case, " + "the location has to be completed with the custom API path ", + ) + username = fields.Char( + string='Username', + help="Webservice user", + ) + password = fields.Char( + string='Password', + help="Webservice password", + ) + token = fields.Char( + help=('Authentication token for Magento 2.0+. See https://devdocs.' + ' magento.com/guides/v2.3/get-started/authentication' + '/gs-authentication-token.html')) + use_auth_basic = fields.Boolean( + string='Use HTTP Auth Basic', + help="Use a Basic Access Authentication for the API. " + "The Magento server could be configured to restrict access " + "using a HTTP authentication based on a username and " + "a password.", + ) + auth_basic_username = fields.Char( + string='Basic Auth. Username', + help="Basic access authentication web server side username", + ) + auth_basic_password = fields.Char( + string='Basic Auth. Password', + help="Basic access authentication web server side password", + ) + verify_ssl = fields.Boolean( + string='Verify SSL certificate', + default=True, + help="Only for Magento 2.0+") + user_agent = fields.Char( + string='User Agent', + help="Custom user agent to use instead of library's one", + ) + sale_prefix = fields.Char( + string='Sale Prefix', + help="A prefix put before the name of imported sales orders.\n" + "For instance, if the prefix is 'mag-', the sales " + "order 100000692 in Magento, will be named 'mag-100000692' " + "in Odoo.", + ) + warehouse_id = fields.Many2one( + comodel_name='stock.warehouse', + string='Warehouse', + required=True, + help='Warehouse used to compute the ' + 'stock quantities.', + ) + company_id = fields.Many2one( + comodel_name='res.company', + related='warehouse_id.company_id', + string='Company', + readonly=True, + ) + website_ids = fields.One2many( + comodel_name='magento.website', + inverse_name='backend_id', + string='Website', + readonly=True, + ) + default_lang_id = fields.Many2one( + comodel_name='res.lang', + string='Default Language', + help="If a default language is selected, the records " + "will be imported in the translation of this language.\n" + "Note that a similar configuration exists " + "for each storeview.", + ) + default_category_id = fields.Many2one( + comodel_name='product.category', + string='Default Product Category', + help='If a default category is selected, products imported ' + 'without a category will be linked to it.', + ) + + # TODO? add a field `auto_activate` -> activate a cron + import_products_from_date = fields.Datetime( + string='Import products from date', + ) + import_categories_from_date = fields.Datetime( + string='Import categories from date', + ) + product_stock_field_id = fields.Many2one( + comodel_name='ir.model.fields', + string='Stock Field', + default=_get_stock_field_id, + domain="[('model', 'in', ['product.product', 'product.template'])," + " ('ttype', '=', 'float')]", + help="Choose the field of the product which will be used for " + "stock inventory updates.\nIf empty, Quantity Available " + "is used.", + ) + product_binding_ids = fields.One2many( + comodel_name='magento.product.product', + inverse_name='backend_id', + string='Magento Products', + readonly=True, + ) + account_analytic_id = fields.Many2one( + comodel_name='account.analytic.account', + string='Analytic account', + help='If specified, this analytic account will be used to fill the ' + 'field on the sale order created by the connector. The value can ' + 'also be specified on website or the store or the store view.' + ) + fiscal_position_id = fields.Many2one( + comodel_name='account.fiscal.position', + string='Fiscal position', + help='If specified, this fiscal position will be used to fill the ' + 'field fiscal position on the sale order created by the connector.' + 'The value can also be specified on website or the store or the ' + 'store view.' + ) + is_multi_company = fields.Boolean( + string='Is Backend Multi-Company', + help="If this flag is set, it is possible to choose warehouse at each " + "level. " + "When import partner, ignore company_id if this flag is set.", + ) + + _sql_constraints = [ + ('sale_prefix_uniq', 'unique(sale_prefix)', + "A backend with the same sale prefix already exists") + ] + + @api.multi + def check_magento_structure(self): + """ Used in each data import. + + Verify if a website exists for each backend before starting the import. + """ + for backend in self: + websites = backend.website_ids + if not websites: + backend.synchronize_metadata() + return True + + @contextmanager + @api.multi + def work_on(self, model_name, **kwargs): + self.ensure_one() + lang = self.default_lang_id + if lang.code != self.env.context.get('lang'): + self = self.with_context(lang=lang.code) + magento_location = MagentoLocation( + self.location, + self.username, + self.password, + self.token, + self.version, + self.verify_ssl, + use_custom_api_path=self.use_custom_api_path + ) + if self.use_auth_basic: + magento_location.use_auth_basic = True + magento_location.auth_basic_username = self.auth_basic_username + magento_location.auth_basic_password = self.auth_basic_password + if self.user_agent: + magento_location.user_agent = self.user_agent + # We create a Magento Client API here, so we can create the + # client once (lazily on the first use) and propagate it + # through all the sync session, instead of recreating a client + # in each backend adapter usage. + with MagentoAPI(magento_location) as magento_api: + _super = super(MagentoBackend, self) + # from the components we'll be able to do: self.work.magento_api + with _super.work_on( + model_name, magento_api=magento_api, **kwargs) as work: + yield work + + @api.multi + def add_checkpoint(self, record): + self.ensure_one() + record.ensure_one() + return add_checkpoint(self.env, record._name, record.id, + self._name, self.id) + + @api.multi + def synchronize_metadata(self): + try: + for backend in self: + for model_name in ('magento.website', + 'magento.store', + 'magento.storeview'): + # import directly, do not delay because this + # is a fast operation, a direct return is fine + # and it is simpler to import them sequentially + self.env[model_name].import_batch(backend) + return True + except Exception as e: + _logger.error(ustr(e)) + raise UserError( + _("Check your configuration, we can't get the data. " + "Here is the error:\n%s") % + ustr(e)) + + @api.multi + def import_partners(self): + """ Import partners from all websites """ + for backend in self: + backend.check_magento_structure() + backend.website_ids.import_partners() + return True + + @api.multi + def import_sale_orders(self): + """ Import sale orders from all store views """ + storeview_obj = self.env['magento.storeview'] + storeviews = storeview_obj.search([('backend_id', 'in', self.ids)]) + storeviews.import_sale_orders() + return True + + @api.multi + def import_customer_groups(self): + for backend in self: + backend.check_magento_structure() + self.env['magento.res.partner.category'].with_delay().import_batch( + backend, + ) + return True + + @api.multi + def _import_from_date(self, model, from_date_field): + import_start_time = datetime.now() + for backend in self: + backend.check_magento_structure() + from_date = backend[from_date_field] + if from_date: + from_date = fields.Datetime.from_string(from_date) + else: + from_date = None + self.env[model].with_delay().import_batch( + backend, + filters={'from_date': from_date, + 'to_date': import_start_time} + ) + # Records from Magento are imported based on their `created_at` + # date. This date is set on Magento at the beginning of a + # transaction, so if the import is run between the beginning and + # the end of a transaction, the import of a record may be + # missed. That's why we add a small buffer back in time where + # the eventually missed records will be retrieved. This also + # means that we'll have jobs that import twice the same records, + # but this is not a big deal because they will be skipped when + # the last `sync_date` is the same. + next_time = import_start_time - timedelta(seconds=IMPORT_DELTA_BUFFER) + next_time = fields.Datetime.to_string(next_time) + self.write({from_date_field: next_time}) + + @api.multi + def import_product_categories(self): + self._import_from_date('magento.product.category', + 'import_categories_from_date') + return True + + @api.multi + def import_product_product(self): + self._import_from_date('magento.product.product', + 'import_products_from_date') + return True + + @api.multi + def _domain_for_update_product_stock_qty(self): + return [ + ('backend_id', 'in', self.ids), + ('type', '!=', 'service'), + ('no_stock_sync', '=', False), + ] + + @api.multi + def update_product_stock_qty(self): + mag_product_obj = self.env['magento.product.product'] + domain = self._domain_for_update_product_stock_qty() + magento_products = mag_product_obj.search(domain) + magento_products.recompute_magento_qty() + return True + + @api.model + def _magento_backend(self, callback, domain=None): + if domain is None: + domain = [] + backends = self.search(domain) + if backends: + getattr(backends, callback)() + + @api.model + def _scheduler_import_sale_orders(self, domain=None): + self._magento_backend('import_sale_orders', domain=domain) + + @api.model + def _scheduler_import_customer_groups(self, domain=None): + self._magento_backend('import_customer_groups', domain=domain) + + @api.model + def _scheduler_import_partners(self, domain=None): + self._magento_backend('import_partners', domain=domain) + + @api.model + def _scheduler_import_product_categories(self, domain=None): + self._magento_backend('import_product_categories', domain=domain) + + @api.model + def _scheduler_import_product_product(self, domain=None): + self._magento_backend('import_product_product', domain=domain) + + @api.model + def _scheduler_update_product_stock_qty(self, domain=None): + self._magento_backend('update_product_stock_qty', domain=domain) + + +class MagentoConfigSpecializer(models.AbstractModel): + _name = 'magento.config.specializer' + _description = 'Magento Configuration Specializer Mixin' + + specific_account_analytic_id = fields.Many2one( + comodel_name='account.analytic.account', + string='Specific analytic account', + help='If specified, this analytic account will be used to fill the ' + 'field on the sale order created by the connector. The value can ' + 'also be specified on website or the store or the store view.' + ) + specific_fiscal_position_id = fields.Many2one( + comodel_name='account.fiscal.position', + string='Specific fiscal position', + help='If specified, this fiscal position will be used to fill the ' + 'field fiscal position on the sale order created by the connector.' + 'The value can also be specified on website or the store or the ' + 'store view.' + ) + specific_warehouse_id = fields.Many2one( + comodel_name='stock.warehouse', + string='Specific warehouse', + help='If specified, this warehouse will be used to load fill the ' + 'field warehouse (and company) on the sale order created by the ' + 'connector.' + 'The value can also be specified on website or the store or the ' + 'store view.' + ) + account_analytic_id = fields.Many2one( + comodel_name='account.analytic.account', + string='Analytic account', + compute='_compute_account_analytic_id', + ) + fiscal_position_id = fields.Many2one( + comodel_name='account.fiscal.position', + string='Fiscal position', + compute='_compute_fiscal_position_id', + ) + warehouse_id = fields.Many2one( + comodel_name='stock.warehouse', + string='warehouse', + compute='_compute_warehouse_id') + + @property + def _parent(self): + return getattr(self, self._parent_name) + + @api.multi + def _compute_account_analytic_id(self): + for this in self: + this.account_analytic_id = ( + this.specific_account_analytic_id or + this._parent.account_analytic_id) + + @api.multi + def _compute_fiscal_position_id(self): + for this in self: + this.fiscal_position_id = ( + this.specific_fiscal_position_id or + this._parent.fiscal_position_id) + + @api.multi + def _compute_warehouse_id(self): + for this in self: + this.warehouse_id = ( + this.specific_warehouse_id or + this._parent.warehouse_id) diff --git a/connector_magento/models/magento_backend/importer.py b/connector_magento/models/magento_backend/importer.py new file mode 100644 index 000000000..524032caf --- /dev/null +++ b/connector_magento/models/magento_backend/importer.py @@ -0,0 +1,24 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.addons.component.core import Component + + +class MetadataBatchImporter(Component): + """ Import the records directly, without delaying the jobs. + + Import the Magento Websites, Stores, Storeviews + + They are imported directly because this is a rare and fast operation, + and we don't really bother if it blocks the UI during this time. + (that's also a mean to rapidly check the connectivity with Magento). + + """ + + _name = 'magento.metadata.batch.importer' + _inherit = 'magento.direct.batch.importer' + _apply_on = [ + 'magento.website', + 'magento.store', + 'magento.storeview', + ] diff --git a/connector_magento/models/magento_binding/__init__.py b/connector_magento/models/magento_binding/__init__.py new file mode 100644 index 000000000..e4193cf05 --- /dev/null +++ b/connector_magento/models/magento_binding/__init__.py @@ -0,0 +1 @@ +from . import common diff --git a/connector_magento/models/magento_binding/common.py b/connector_magento/models/magento_binding/common.py new file mode 100644 index 000000000..1265c36a1 --- /dev/null +++ b/connector_magento/models/magento_binding/common.py @@ -0,0 +1,69 @@ +# © 2013-2019 Guewen Baconnier,Camptocamp SA,Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models, fields +from odoo.addons.queue_job.job import job, related_action + + +class MagentoBinding(models.AbstractModel): + """ Abstract Model for the Bindings. + + All the models used as bindings between Magento and Odoo + (``magento.res.partner``, ``magento.product.product``, ...) should + ``_inherit`` it. + """ + _name = 'magento.binding' + _inherit = 'external.binding' + _description = 'Magento Binding (abstract)' + + # odoo_id = odoo-side id must be declared in concrete model + backend_id = fields.Many2one( + comodel_name='magento.backend', + string='Magento Backend', + required=True, + ondelete='restrict', + ) + # fields.Char because 0 is a valid Magento ID + external_id = fields.Char(string='ID on Magento', oldname='magento_id') + + _sql_constraints = [ + ('magento_uniq', 'unique(backend_id, external_id)', + 'A binding already exists with the same Magento ID.'), + ] + + @job(default_channel='root.magento') + @api.model + def import_batch(self, backend, filters=None): + """ Prepare the import of records modified on Magento """ + if filters is None: + filters = {} + with backend.work_on(self._name) as work: + importer = work.component(usage='batch.importer') + return importer.run(filters=filters) + + @job(default_channel='root.magento') + @related_action(action='related_action_magento_link') + @api.model + def import_record(self, backend, external_id, force=False): + """ Import a Magento record """ + with backend.work_on(self._name) as work: + importer = work.component(usage='record.importer') + return importer.run(external_id, force=force) + + @job(default_channel='root.magento') + @related_action(action='related_action_unwrap_binding') + @api.multi + def export_record(self, fields=None): + """ Export a record on Magento """ + self.ensure_one() + with self.backend_id.work_on(self._name) as work: + exporter = work.component(usage='record.exporter') + return exporter.run(self, fields) + + @job(default_channel='root.magento') + @related_action(action='related_action_magento_link') + def export_delete_record(self, backend, external_id): + """ Delete a record on Magento """ + with backend.work_on(self._name) as work: + deleter = work.component(usage='record.exporter.deleter') + return deleter.run(external_id) diff --git a/connector_magento/models/magento_store/__init__.py b/connector_magento/models/magento_store/__init__.py new file mode 100644 index 000000000..79ab5dc6b --- /dev/null +++ b/connector_magento/models/magento_store/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import importer diff --git a/connector_magento/models/magento_store/common.py b/connector_magento/models/magento_store/common.py new file mode 100644 index 000000000..a0e9c979d --- /dev/null +++ b/connector_magento/models/magento_store/common.py @@ -0,0 +1,70 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import models, fields +from odoo.addons.component.core import Component + + +class MagentoStore(models.Model): + _name = 'magento.store' + _inherit = ['magento.binding', 'magento.config.specializer'] + _description = 'Magento Store' + _parent_name = 'website_id' + + name = fields.Char() + website_id = fields.Many2one( + comodel_name='magento.website', + string='Magento Website', + required=True, + readonly=True, + ondelete='cascade', + ) + backend_id = fields.Many2one( + comodel_name='magento.backend', + related='website_id.backend_id', + string='Magento Backend', + store=True, + readonly=True, + # override 'magento.binding', can't be INSERTed if True: + required=False, + ) + storeview_ids = fields.One2many( + comodel_name='magento.storeview', + inverse_name='store_id', + string="Storeviews", + readonly=True, + ) + send_picking_done_mail = fields.Boolean( + string='Send email notification on picking done', + help="Does the picking export/creation should send " + "an email notification on Magento side?", + ) + send_invoice_paid_mail = fields.Boolean( + string='Send email notification on invoice validated/paid', + help="Does the invoice export/creation should send " + "an email notification on Magento side?", + ) + create_invoice_on = fields.Selection( + selection=[('open', 'Validate'), + ('paid', 'Paid')], + string='Create invoice on action', + default='paid', + required=True, + help="Should the invoice be created in Magento " + "when it is validated or when it is paid in Odoo?\n" + "This only takes effect if the sales order's related " + "payment method is not giving an option for this by " + "itself. (See Payment Methods)", + ) + is_multi_company = fields.Boolean(related="backend_id.is_multi_company") + + +class StoreAdapter(Component): + _name = 'magento.store.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.store' + + _magento_model = 'ol_groups' + _magento2_model = 'store/storeGroups' + _admin_path = 'system_store/editGroup/group_id/{id}' diff --git a/connector_magento/models/magento_store/importer.py b/connector_magento/models/magento_store/importer.py new file mode 100644 index 000000000..d94891bb6 --- /dev/null +++ b/connector_magento/models/magento_store/importer.py @@ -0,0 +1,32 @@ +# Copyright 2013-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.addons.component.core import Component +from odoo.addons.connector.components.mapper import mapping + + +class StoreImportMapper(Component): + _name = 'magento.store.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.store' + + direct = [('name', 'name')] + + @mapping + def website_id(self, record): + binder = self.binder_for(model='magento.website') + binding = binder.to_internal(record['website_id']) + return {'website_id': binding.id} + + +class StoreImporter(Component): + """ Import one Magento Store (create a sale.shop via _inherits) """ + + _name = 'magento.store.importer' + _inherit = 'magento.importer' + _apply_on = 'magento.store' + + def _create(self, data): + binding = super(StoreImporter, self)._create(data) + self.backend_record.add_checkpoint(binding) + return binding diff --git a/connector_magento/models/magento_storeview/__init__.py b/connector_magento/models/magento_storeview/__init__.py new file mode 100644 index 000000000..79ab5dc6b --- /dev/null +++ b/connector_magento/models/magento_storeview/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import importer diff --git a/connector_magento/models/magento_storeview/common.py b/connector_magento/models/magento_storeview/common.py new file mode 100644 index 000000000..c622cfd58 --- /dev/null +++ b/connector_magento/models/magento_storeview/common.py @@ -0,0 +1,130 @@ +# Copyright 2103-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import logging + +from datetime import datetime, timedelta +from odoo import models, fields, api +from odoo.addons.component.core import Component +from ..magento_backend.common import IMPORT_DELTA_BUFFER + +_logger = logging.getLogger(__name__) + + +class MagentoStoreview(models.Model): + _name = 'magento.storeview' + _inherit = ['magento.binding', 'magento.config.specializer'] + _description = "Magento Storeview" + _parent_name = 'store_id' + + _order = 'sort_order ASC, id ASC' + + name = fields.Char(required=True, readonly=True) + code = fields.Char(readonly=True) + enabled = fields.Boolean(string='Enabled', readonly=True) + sort_order = fields.Integer(string='Sort Order', readonly=True) + store_id = fields.Many2one(comodel_name='magento.store', + string='Store', + ondelete='cascade', + readonly=True) + lang_id = fields.Many2one(comodel_name='res.lang', string='Language') + team_id = fields.Many2one(comodel_name='crm.team', string='Sales Team') + base_media_url = fields.Char( + help=('Base URL to retrieve product images. Used for Magento2 only. ' + 'For example: http://magento/media')) + backend_id = fields.Many2one( + comodel_name='magento.backend', + related='store_id.website_id.backend_id', + string='Magento Backend', + store=True, + readonly=True, + # override 'magento.binding', can't be INSERTed if True: + required=False, + ) + import_orders_from_date = fields.Datetime( + string='Import sale orders from date', + help='do not consider non-imported sale orders before this date. ' + 'Leave empty to import all sale orders', + ) + no_sales_order_sync = fields.Boolean( + string='No Sales Order Synchronization', + help='Check if the storeview is active in Magento ' + 'but its sales orders should not be imported.', + ) + catalog_price_tax_included = fields.Boolean(string='Prices include tax') + is_multi_company = fields.Boolean(related="backend_id.is_multi_company") + + @api.multi + def import_sale_orders(self): + import_start_time = datetime.now() + for storeview in self: + if storeview.no_sales_order_sync: + _logger.debug("The storeview '%s' is active in Magento " + "but is configured not to import the " + "sales orders", storeview.name) + continue + + user = storeview.sudo().warehouse_id.company_id.user_tech_id + if not user: + user = self.env['res.users'].browse(self.env.uid) + + sale_binding_model = self.env['magento.sale.order'] + if user != self.env.user: + sale_binding_model = sale_binding_model.sudo(user) + + backend = storeview.sudo(user).backend_id + if storeview.import_orders_from_date: + from_string = fields.Datetime.from_string + from_date = from_string(storeview.import_orders_from_date) + else: + from_date = None + + delayable = sale_binding_model.with_delay(priority=1) + filters = { + 'magento_storeview_id': storeview.external_id, + 'from_date': from_date, + 'to_date': import_start_time, + } + delayable.import_batch(backend, filters=filters) + # Records from Magento are imported based on their `created_at` + # date. This date is set on Magento at the beginning of a + # transaction, so if the import is run between the beginning and + # the end of a transaction, the import of a record may be + # missed. That's why we add a small buffer back in time where + # the eventually missed records will be retrieved. This also + # means that we'll have jobs that import twice the same records, + # but this is not a big deal because the sales orders will be + # imported the first time and the jobs will be skipped on the + # subsequent imports + next_time = import_start_time - timedelta(seconds=IMPORT_DELTA_BUFFER) + next_time = fields.Datetime.to_string(next_time) + self.write({'import_orders_from_date': next_time}) + return True + + +class StoreviewAdapter(Component): + _name = 'magento.storeview.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.storeview' + + _magento_model = 'ol_storeviews' + _magento2_model = 'store/storeConfigs' + _admin_path = 'system_store/editStore/store_id/{id}' + + def read(self, external_id, attributes=None): + """ Conveniently split into two separate APIs in 2.0 + :rtype: dict + """ + if self.collection.version == '2.0': + if attributes: + raise NotImplementedError + storeview = next( + record for record in self._call('store/storeViews') + if record['id'] == external_id) + storeview.update(next( + record for record in self._call('store/storeConfigs') + if record['id'] == external_id)) + return storeview + return super(StoreviewAdapter, self).read( + external_id, attributes=attributes) diff --git a/connector_magento/models/magento_storeview/importer.py b/connector_magento/models/magento_storeview/importer.py new file mode 100644 index 000000000..6a92d6eba --- /dev/null +++ b/connector_magento/models/magento_storeview/importer.py @@ -0,0 +1,48 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.addons.component.core import Component +from odoo.addons.connector.components.mapper import mapping + + +class MagentoStoreviewImportMapper(Component): + _name = 'magento.storeview.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.storeview' + + direct = [ + ('name', 'name'), + ('code', 'code'), + ('is_active', 'enabled'), + ('sort_order', 'sort_order'), + ('base_media_url', 'base_media_url'), + ] + + @mapping + def store_id(self, record): + """ Bind to 'group_id' (Magento 1.x) or 'store_group_id' """ + binder = self.binder_for(model='magento.store') + group_id = record.get('store_group_id') or record['group_id'] + binding = binder.to_internal(group_id) + return {'store_id': binding.id} + + @mapping + def lang_id(self, record): + if self.collection.version == '2.0': + lang = self.env['res.lang'].search( + [('code', '=', record['locale'])]) + return {'lang_id': lang.id} + + +class StoreviewImporter(Component): + """ Import one Magento Storeview """ + + _name = 'magento.storeview.importer' + _inherit = 'magento.importer' + _apply_on = 'magento.storeview' + + def _create(self, data): + binding = super(StoreviewImporter, self)._create(data) + self.backend_record.add_checkpoint(binding) + return binding diff --git a/connector_magento/models/magento_website/__init__.py b/connector_magento/models/magento_website/__init__.py new file mode 100644 index 000000000..79ab5dc6b --- /dev/null +++ b/connector_magento/models/magento_website/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import importer diff --git a/connector_magento/models/magento_website/common.py b/connector_magento/models/magento_website/common.py new file mode 100644 index 000000000..13330726e --- /dev/null +++ b/connector_magento/models/magento_website/common.py @@ -0,0 +1,80 @@ +# © 2013-2019 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from datetime import datetime, timedelta +from odoo import models, fields, api +from odoo.addons.component.core import Component +from ..magento_backend.common import IMPORT_DELTA_BUFFER + + +class MagentoWebsite(models.Model): + _name = 'magento.website' + _inherit = ['magento.binding', 'magento.config.specializer'] + _description = 'Magento Website' + _parent_name = 'backend_id' + + _order = 'sort_order ASC, id ASC' + + name = fields.Char(required=True, readonly=True) + code = fields.Char(readonly=True) + sort_order = fields.Integer(string='Sort Order', readonly=True) + store_ids = fields.One2many( + comodel_name='magento.store', + inverse_name='website_id', + string='Stores', + readonly=True, + ) + import_partners_from_date = fields.Datetime( + string='Import partners from date', + ) + product_binding_ids = fields.Many2many( + comodel_name='magento.product.product', + string='Magento Products', + readonly=True, + ) + is_multi_company = fields.Boolean(related="backend_id.is_multi_company") + + @api.multi + def import_partners(self): + import_start_time = datetime.now() + for website in self: + backend = website.backend_id + if website.import_partners_from_date: + from_string = fields.Datetime.from_string + from_date = from_string(website.import_partners_from_date) + else: + from_date = None + self.env['magento.res.partner'].with_delay().import_batch( + backend, + filters={'magento_website_id': website.external_id, + 'from_date': from_date, + 'to_date': import_start_time} + ) + # Records from Magento are imported based on their `created_at` + # date. This date is set on Magento at the beginning of a + # transaction, so if the import is run between the beginning and + # the end of a transaction, the import of a record may be + # missed. That's why we add a small buffer back in time where + # the eventually missed records will be retrieved. This also + # means that we'll have jobs that import twice the same records, + # but this is not a big deal because they will be skipped when + # the last `sync_date` is the same. + next_time = import_start_time - timedelta(seconds=IMPORT_DELTA_BUFFER) + next_time = fields.Datetime.to_string(next_time) + self.write({'import_partners_from_date': next_time}) + return True + + +class WebsiteAdapter(Component): + _name = 'magento.website.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.website' + + _magento_model = 'ol_websites' + _magento2_model = 'store/websites' + _admin_path = 'system_store/editWebsite/website_id/{id}' + # Magento2 url does not seem to be valid without session key + # and disabling it is not recommended due to security concerns + # _admin2_path = 'admin/system_store/editWebsite/website_id/{id}' diff --git a/connector_magento/models/magento_website/importer.py b/connector_magento/models/magento_website/importer.py new file mode 100644 index 000000000..33faade8d --- /dev/null +++ b/connector_magento/models/magento_website/importer.py @@ -0,0 +1,34 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import _ +from odoo.addons.component.core import Component +from odoo.addons.connector.components.mapper import mapping + + +class WebsiteImportMapper(Component): + _name = 'magento.website.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.website' + + direct = [('code', 'code'), + ('sort_order', 'sort_order')] + + @mapping + def name(self, record): + name = record['name'] + if name is None: + name = _('Undefined') + return {'name': name} + + @mapping + def backend_id(self, record): + return {'backend_id': self.backend_record.id} + + +class MagentoWebsiteImporter(Component): + """ Import one Magento Website """ + + _name = 'magento.website.record.importer' + _inherit = 'magento.importer' + _apply_on = ['magento.website'] diff --git a/connector_magento/models/partner/__init__.py b/connector_magento/models/partner/__init__.py new file mode 100644 index 000000000..79ab5dc6b --- /dev/null +++ b/connector_magento/models/partner/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import importer diff --git a/connector_magento/models/partner/common.py b/connector_magento/models/partner/common.py new file mode 100644 index 000000000..e9839a69e --- /dev/null +++ b/connector_magento/models/partner/common.py @@ -0,0 +1,220 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging +import xmlrpc.client +from odoo import models, fields, api +from odoo.addons.queue_job.job import job +from odoo.addons.component.core import Component + +from odoo.addons.connector.exception import IDMissingInBackend +from ...components.backend_adapter import MAGENTO_DATETIME_FORMAT + +_logger = logging.getLogger(__name__) + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + magento_bind_ids = fields.One2many( + comodel_name='magento.res.partner', + inverse_name='odoo_id', + string="Magento Bindings", + ) + magento_address_bind_ids = fields.One2many( + comodel_name='magento.address', + inverse_name='odoo_id', + string="Magento Address Bindings", + ) + birthday = fields.Date(string='Birthday') + company = fields.Char(string='Company name (in Magento)') + + @api.model + def _address_fields(self): + """ Returns the list of address fields that are synced from the + parent. + + """ + fields = super(ResPartner, self)._address_fields() + fields.append('company') + return fields + + @job(default_channel='root.magento') + @api.model + def import_batch(self, backend, filters=None): + assert 'magento_website_id' in filters, ( + 'Missing information about Magento Website') + return super(ResPartner, self).import_batch(backend, filters=filters) + + +class MagentoResPartner(models.Model): + _name = 'magento.res.partner' + _inherit = 'magento.binding' + _inherits = {'res.partner': 'odoo_id'} + _description = 'Magento Partner' + + _rec_name = 'name' + + odoo_id = fields.Many2one(comodel_name='res.partner', + string='Partner', + required=True, + ondelete='cascade') + backend_id = fields.Many2one( + related='website_id.backend_id', + comodel_name='magento.backend', + string='Magento Backend', + store=True, + readonly=True, + # override 'magento.binding', can't be INSERTed if True: + required=False, + ) + website_id = fields.Many2one(comodel_name='magento.website', + string='Magento Website', + required=True, + ondelete='restrict') + group_id = fields.Many2one(comodel_name='magento.res.partner.category', + string='Magento Group (Category)') + created_at = fields.Datetime(string='Created At (on Magento)', + readonly=True) + updated_at = fields.Datetime(string='Updated At (on Magento)', + readonly=True) + emailid = fields.Char(string='E-mail address') + taxvat = fields.Char(string='Magento VAT') + newsletter = fields.Boolean(string='Newsletter') + guest_customer = fields.Boolean(string='Guest Customer') + consider_as_company = fields.Boolean( + string='Considered as company', + help="An account imported with a 'company' in " + "the billing address is considered as a company.\n " + "The partner takes the name of the company and " + "is not merged with the billing address.", + ) + + +class MagentoAddress(models.Model): + _name = 'magento.address' + _inherit = 'magento.binding' + _inherits = {'res.partner': 'odoo_id'} + _description = 'Magento Address' + + _rec_name = 'backend_id' + + odoo_id = fields.Many2one(comodel_name='res.partner', + string='Partner', + required=True, + ondelete='cascade') + created_at = fields.Datetime(string='Created At (on Magento)', + readonly=True) + updated_at = fields.Datetime(string='Updated At (on Magento)', + readonly=True) + is_default_billing = fields.Boolean(string='Default Invoice') + is_default_shipping = fields.Boolean(string='Default Shipping') + magento_partner_id = fields.Many2one(comodel_name='magento.res.partner', + string='Magento Partner', + required=True, + ondelete='cascade') + backend_id = fields.Many2one( + related='magento_partner_id.backend_id', + comodel_name='magento.backend', + string='Magento Backend', + store=True, + readonly=True, + # override 'magento.binding', can't be INSERTed if True: + required=False, + ) + website_id = fields.Many2one( + related='magento_partner_id.website_id', + comodel_name='magento.website', + string='Magento Website', + store=True, + readonly=True, + ) + is_magento_order_address = fields.Boolean( + string='Address from a Magento Order', + ) + + _sql_constraints = [ + ('odoo_uniq', 'unique(backend_id, odoo_id)', + 'A partner address can only have one binding by backend.'), + ] + + +class PartnerAdapter(Component): + + _name = 'magento.partner.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.res.partner' + + _magento_model = 'customer' + _magento2_key = 'id' + _magento2_model = 'customers' + _magento2_search = 'customers/search' + _admin_path = '/{model}/edit/id/{id}' + # Not valid without security key + # _admin2_path = 'customer/index/edit/id/{id}' + + def _call(self, method, arguments, http_method=None, storeview=None): + try: + return super(PartnerAdapter, self)._call( + method, arguments, http_method=http_method, + storeview=storeview) + except xmlrpc.client.Fault as err: + # this is the error in the Magento API + # when the customer does not exist + if err.faultCode == 102: + raise IDMissingInBackend + else: + raise + + def search(self, filters=None, from_date=None, to_date=None, + magento_website_ids=None): + """ Search records according to some criteria and return a + list of ids + + :rtype: list + """ + if filters is None: + filters = {} + + dt_fmt = MAGENTO_DATETIME_FORMAT + if from_date is not None: + # updated_at include the created records + filters.setdefault('updated_at', {}) + filters['updated_at']['from'] = from_date.strftime(dt_fmt) + if to_date is not None: + filters.setdefault('updated_at', {}) + filters['updated_at']['to'] = to_date.strftime(dt_fmt) + if magento_website_ids is not None: + filters['website_id'] = {'in': magento_website_ids} + + if self.collection.version == '1.7': + # the search method is on ol_customer instead of customer + return self._call('ol_customer.search', + [filters] if filters else [{}]) + return super(PartnerAdapter, self).search(filters=filters) + + +class AddressAdapter(Component): + + _name = 'magento.address.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.address' + + _magento_model = 'customer_address' + + def search(self, filters=None): + """ Search records according to some criterias + and returns a list of ids + + :rtype: list + """ + return [int(row['customer_address_id']) for row + in self._call('%s.list' % self._magento_model, + [filters] if filters else [{}])] + + def create(self, customer_id, data): + """ Create a record on the external system """ + # pylint: disable=method-required-super + return self._call('%s.create' % self._magento_model, + [customer_id, data]) diff --git a/connector_magento/models/partner/importer.py b/connector_magento/models/partner/importer.py new file mode 100644 index 000000000..da1811238 --- /dev/null +++ b/connector_magento/models/partner/importer.py @@ -0,0 +1,476 @@ +# Copyright 2013-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import logging + +from collections import namedtuple +from odoo.addons.component.core import AbstractComponent, Component +from odoo.addons.connector.exception import MappingError +from odoo.addons.connector.components.mapper import mapping, only_create +from ...components.mapper import normalize_datetime + +_logger = logging.getLogger(__name__) + + +class PartnerBatchImporter(Component): + """ Import the Magento Partners. + + For every partner in the list, a delayed job is created. + """ + _name = 'magento.partner.batch.importer' + _inherit = 'magento.delayed.batch.importer' + _apply_on = 'magento.res.partner' + + def run(self, filters=None): + """ Run the synchronization """ + from_date = filters.pop('from_date', None) + to_date = filters.pop('to_date', None) + magento_website_ids = [filters.pop('magento_website_id')] + record_ids = self.backend_adapter.search( + filters, + from_date=from_date, + to_date=to_date, + magento_website_ids=magento_website_ids) + _logger.info('search for magento partners %s returned %s', + filters, record_ids) + for record_id in record_ids: + self._import_record(record_id) + + +class PartnerImportMapper(Component): + _name = 'magento.partner.import.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.res.partner' + + direct = [ + ('email', 'email'), + ('dob', 'birthday'), + (normalize_datetime('created_at'), 'created_at'), + (normalize_datetime('updated_at'), 'updated_at'), + ('email', 'emailid'), + ('taxvat', 'taxvat'), + ('group_id', 'group_id'), + ] + + @only_create + @mapping + def is_company(self, record): + # partners are companies so we can bind + # addresses on them + return {'is_company': True} + + @mapping + def names(self, record): + """ Middlename not always present in Magento 2 """ + # TODO Check on first run + parts = [part for part in (record['firstname'], + record.get('middlename'), + record['lastname']) if part] + return {'name': ' '.join(parts)} + + @mapping + def customer_group_id(self, record): + # import customer groups + if record['group_id'] == 0: + category = self.env.ref('connector_magento.category_no_account') + else: + binder = self.binder_for(model='magento.res.partner.category') + category = binder.to_internal(record['group_id'], unwrap=True) + + if not category: + raise MappingError("The partner category with " + "magento id %s does not exist" % + record['group_id']) + + # FIXME: should remove the previous tag (all the other tags from + # the same backend) + return {'category_id': [(4, category.id)]} + + @mapping + def website_id(self, record): + binder = self.binder_for(model='magento.website') + website = binder.to_internal(record['website_id']) + return {'website_id': website.id} + + @only_create + @mapping + def company_id(self, record): + if self.backend_record.is_multi_company: + return {'company_id': False} + binder = self.binder_for(model='magento.storeview') + storeview = binder.to_internal(record['store_id']) + if storeview: + company = storeview.backend_id.company_id + if company: + return {'company_id': company.id} + return {'company_id': False} + + @mapping + def lang(self, record): + binder = self.binder_for(model='magento.storeview') + storeview = binder.to_internal(record['store_id']) + if storeview: + if storeview.lang_id: + return {'lang': storeview.lang_id.code} + + @only_create + @mapping + def customer(self, record): + return {'customer': True} + + @mapping + def type(self, record): + return {'type': 'contact'} + + @only_create + @mapping + def odoo_id(self, record): + """ Will bind the customer on a existing partner + with the same email """ + partner = self.env['res.partner'].search( + [('email', '=', record['email']), + ('customer', '=', True), + '|', + ('is_company', '=', True), + ('parent_id', '=', False)], + limit=1, + ) + if partner: + return {'odoo_id': partner.id} + + +class PartnerImporter(Component): + _name = 'magento.partner.importer' + _inherit = 'magento.importer' + _apply_on = 'magento.res.partner' + + def _import_dependencies(self): + """ Import the dependencies for the record""" + record = self.magento_record + self._import_dependency(record['group_id'], + 'magento.res.partner.category') + + def _after_import(self, partner_binding): + """ Import the addresses """ + book = self.component(usage='address.book', + model_name='magento.address') + book.import_addresses(self.external_id, partner_binding.id) + + +AddressInfos = namedtuple('AddressInfos', ['magento_record', + 'partner_binding_id', + 'merge']) + + +class PartnerAddressBook(Component): + """ Import all addresses from the address book of a customer. + + This class is responsible to define which addresses should + be imported and how (merge with the partner or not...). + Then, it delegate the import to the appropriate importer. + + This is really intricate. The datamodel are different between + Magento and Odoo and we have many uses cases to cover. + + The first thing is that: + - we do not import companies and individuals the same manner + - we do not know if an account is a company -> we assume that + if we found something in the company field of the billing + address, the whole account is a company. + + Differences: + - Individuals: we merge the billing address with the partner, + so we'll end with 1 entity if the customer has 1 address + - Companies: we never merge the addresses with the partner, + but we use the company name of the billing address as name + of the partner. We also copy the address informations from + the billing address as default values. + + More information on: + https://bugs.launchpad.net/openerp-connector/+bug/1193281 + """ + _name = 'magento.address.book' + _inherit = 'base.magento.connector' + _apply_on = 'magento.address' + _usage = 'address.book' + + def import_addresses(self, magento_partner_id, partner_binding_id): + addresses = self._get_address_infos(magento_partner_id, + partner_binding_id) + for address_id, infos in addresses: + importer = self.component(usage='record.importer') + importer.run(address_id, address_infos=infos) + + def _read_addresses(self, magento_partner_id): + """ Provide addresses + - Magento 1.x: read the addresses from the address repository + - Magento 2.x: addresses are included in the partner record + """ + if self.collection.version == '1.7': + adapter = self.component(usage='backend.adapter') + mag_address_ids = adapter.search({'customer_id': + {'eq': magento_partner_id}}) + return [(address_id, adapter.read(address_id)) + for address_id in mag_address_ids] + + with self.collection.work_on('magento.res.partner') as partner: + adapter = partner.component(usage='backend.adapter') + record = adapter.read(magento_partner_id) + return [(addr['id'], addr) for addr in record['addresses']] + + def _get_address_infos(self, magento_partner_id, partner_binding_id): + for address_id, magento_record in self._read_addresses( + magento_partner_id): + # defines if the billing address is merged with the partner + # or imported as a standalone contact + merge = False + if (magento_record.get('is_default_billing') # Magento 1.x + or magento_record.get('default_billing')): # Magento 2.x + binding_model = self.env['magento.res.partner'] + partner_binding = binding_model.browse(partner_binding_id) + if magento_record.get('company'): + # when a company is there, we never merge the contact + # with the partner. + # Copy the billing address on the company + # and use the name of the company for the name + company_mapper = self.component( + usage='company.import.mapper', + model_name='magento.res.partner' + ) + map_record = company_mapper.map_record(magento_record) + parent = partner_binding.odoo_id.parent_id + values = map_record.values(parent_partner=parent) + partner_binding.write(values) + else: + # for B2C individual customers, merge with the main + # partner + merge = True + # in the case if the billing address no longer + # has a company, reset the flag + partner_binding.write({'consider_as_company': False}) + address_infos = AddressInfos(magento_record=magento_record, + partner_binding_id=partner_binding_id, + merge=merge) + yield address_id, address_infos + + +class BaseAddressImportMapper(AbstractComponent): + """ Defines the base mappings for the imports + in ``res.partner`` (state, country, ...) + """ + + _name = 'magento.base.address.import.mapper' + _inherit = 'magento.import.mapper' + + direct = [('postcode', 'zip'), + ('city', 'city'), + ('telephone', 'phone'), + ('company', 'company'), + ] + + @mapping + def state(self, record): + if not record.get('region'): + return + state = self.env['res.country.state'].search( + [('name', '=ilike', record['region'])], + limit=1, + ) + if state: + return {'state_id': state.id} + + @mapping + def country(self, record): + if not record.get('country_id'): + return + country = self.env['res.country'].search( + [('code', '=', record['country_id'])], + limit=1, + ) + if country: + return {'country_id': country.id} + + @mapping + def street(self, record): + """ 'street' can be presented as a list in Magento2 """ + value = record['street'] + if not value: + return {} + if isinstance(value, list): + lines = value + else: + lines = [line.strip() for line in value.split('\n') + if line.strip()] + if len(lines) == 1: + result = {'street': lines[0], 'street2': False} + elif len(lines) >= 2: + result = {'street': lines[0], 'street2': ' - '.join(lines[1:])} + else: + result = {} + return result + + @mapping + def title(self, record): + """ Prefix is optionally present in Magento 2 """ + prefix = record.get('prefix') + if not prefix: + return + title = self.env['res.partner.title'].search( + [('shortcut', '=ilike', prefix)], + limit=1 + ) + if not title: + title = self.env['res.partner.title'].create( + {'shortcut': prefix, + 'name': prefix, + } + ) + return {'title': title.id} + + @only_create + @mapping + def company_id(self, record): + if self.backend_record.is_multi_company: + return {'company_id': False} + parent = self.options.parent_partner + if parent: + if parent.company_id: + return {'company_id': parent.company_id.id} + else: + return {'company_id': False} + # Don't return anything, we are merging into an existing partner + return + + +class CompanyImportMapper(Component): + """ Special mapping used when we import a company. + A company is considered as such when the billing address + of an account has something in the 'company' field. + + This is a very special mapping not used in the same way + than the other. + + The billing address will exist as a contact, + but we want to *copy* the data on the company. + + The input record is the billing address. + The mapper returns data which will be written on the + main partner, in other words, the company. + + The ``@only_create`` decorator would not have any + effect here because the mapper is always called + for updates. + """ + + _name = 'magento.company.import.mapper' + _inherit = 'magento.base.address.import.mapper' + _apply_on = 'magento.res.partner' + _usage = 'company.import.mapper' + + @property + def direct(self): + fields = super(CompanyImportMapper, self).direct[:] + return fields + [('company', 'name')] + + @mapping + def consider_as_company(self, record): + return {'consider_as_company': True} + + +class AddressImporter(Component): + + _name = 'magento.address.importer' + _inherit = 'magento.importer' + _apply_on = 'magento.address' + + def run(self, external_id, address_infos=None, force=False): + """ Run the synchronization """ + if address_infos is None: + # only possible for updates + self.address_infos = AddressInfos(None, None, None) + else: + self.address_infos = address_infos + return super(AddressImporter, self).run(external_id, force=force) + + def _get_magento_data(self): + """ Return the raw Magento data for ``self.external_id`` """ + # we already read the data from the Partner Importer + if self.address_infos.magento_record: + return self.address_infos.magento_record + else: + return super(AddressImporter, self)._get_magento_data() + + def _define_partner_relationship(self, data): + """ Link address with partner or parent company. """ + partner_binding_id = self.address_infos.partner_binding_id + assert partner_binding_id, ("AdressInfos are required for creation of " + "a new address.") + binder = self.binder_for('magento.res.partner') + partner = binder.unwrap_binding(partner_binding_id) + if self.address_infos.merge: + # it won't be imported as an independent address, + # but will be linked with the main res.partner + data['odoo_id'] = partner.id + data['type'] = 'contact' + else: + data['parent_id'] = partner.id + data['lang'] = partner.lang + data['magento_partner_id'] = self.address_infos.partner_binding_id + return data + + def _create(self, data): + data = self._define_partner_relationship(data) + return super(AddressImporter, self)._create(data) + + +class AddressImportMapper(Component): + + _name = 'magento.address.import.mapper' + _inherit = 'magento.base.address.import.mapper' + _apply_on = 'magento.address' + + @property + def direct(self): + fields = super(AddressImportMapper, self).direct[:] + fields += [ + ('created_at', 'created_at'), + ('updated_at', 'updated_at'), + ('company', 'company'), + ] + return fields + + @staticmethod + def is_billing(record): + return ( + record.get('default_billing') # Magento 2.x + or record.get('is_default_billing')) # Magento 1.x + + @staticmethod + def is_shipping(record): + return ( + record.get('default_shipping') # Magento 2.x + or record.get('is_default_shipping')) # Magento 1.x + + @mapping + def default_billing(self, record): + return {'is_default_billing': self.is_billing(record)} + + def default_shipping(self, record): + return {'default_shipping': self.is_shipping(record)} + + @mapping + def names(self, record): + parts = [part for part in (record['firstname'], + record.get('middlename'), + record['lastname']) if part] + return {'name': ' '.join(parts)} + + @mapping + def type(self, record): + if self.is_billing(record): + address_type = 'invoice' + elif self.is_shipping(record): + address_type = 'delivery' + else: + address_type = 'other' + return {'type': address_type} diff --git a/connector_magento/models/partner_category/__init__.py b/connector_magento/models/partner_category/__init__.py new file mode 100644 index 000000000..79ab5dc6b --- /dev/null +++ b/connector_magento/models/partner_category/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import importer diff --git a/connector_magento/models/partner_category/common.py b/connector_magento/models/partner_category/common.py new file mode 100644 index 000000000..b9a5bc948 --- /dev/null +++ b/connector_magento/models/partner_category/common.py @@ -0,0 +1,57 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, fields +from odoo.addons.component.core import Component + + +class ResPartnerCategory(models.Model): + _inherit = 'res.partner.category' + + magento_bind_ids = fields.One2many( + comodel_name='magento.res.partner.category', + inverse_name='odoo_id', + string='Magento Bindings', + readonly=True, + ) + + +class MagentoResPartnerCategory(models.Model): + _name = 'magento.res.partner.category' + _inherit = 'magento.binding' + _inherits = {'res.partner.category': 'odoo_id'} + + odoo_id = fields.Many2one(comodel_name='res.partner.category', + string='Partner Category', + required=True, + ondelete='cascade') + # TODO : replace by a m2o when tax class will be implemented + tax_class_id = fields.Integer(string='Tax Class ID') + + +class PartnerCategoryAdapter(Component): + + _name = 'magento.partner.category.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.res.partner.category' + + _magento_model = 'ol_customer_groups' + _magento2_model = 'customerGroups' + _magento2_search = 'customerGroups/search' + _magento2_key = 'id' + _admin_path = '/customer_group/edit/id/{id}' + # Not valid without security key + # _admin2_path = '/customer/group/edit/id/{id}' + + def search(self, filters=None): + """ Search records according to some criterias + and returns a list of ids + + :rtype: list + """ + if self.collection.version == '1.7': + return [int(row['customer_group_id']) for row + in self._call('%s.list' % self._magento_model, + [filters] if filters else [{}])] + return super(PartnerCategoryAdapter, self).search(filters=filters) diff --git a/connector_magento/models/partner_category/importer.py b/connector_magento/models/partner_category/importer.py new file mode 100644 index 000000000..613ae482d --- /dev/null +++ b/connector_magento/models/partner_category/importer.py @@ -0,0 +1,48 @@ +# Copyright 2013-2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.addons.connector.components.mapper import mapping, only_create +from odoo.addons.component.core import Component + + +class PartnerCategoryBatchImporter(Component): + """ Delay import of the records """ + _name = 'magento.partner.category.batch.importer' + _inherit = 'magento.delayed.batch.importer' + _apply_on = 'magento.res.partner.category' + + +class PartnerCategoryImportMapper(Component): + _name = 'magento.partner.category.import.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.res.partner.category' + + direct = [ + ('tax_class_id', 'tax_class_id'), + ] + + @mapping + def external_id(self, record): + """ 'id' for Magento 2.x, 'customer_group_id' for Magento 1.x """ + return {'external_id': record.get('id') or ['customer_group_id']} + + @mapping + def backend_id(self, record): + return {'backend_id': self.backend_record.id} + + @mapping + def name(self, record): + """ 'code' for Magento 2.x, 'customer_group_code' for Magento 1.x """ + return {'name': record.get('code') or record['customer_group_code']} + + @only_create + @mapping + def odoo_id(self, record): + """ Will bind the category on a existing one with the same name. + 'code' for Magento 2.x, 'customer_group_code' for Magento 1.x """ + code = record.get('code') or record['customer_group_code'] + existing = self.env['res.partner.category'].search( + [('name', '=', code)], limit=1, + ) + if existing: + return {'odoo_id': existing.id} diff --git a/connector_magento/models/product/__init__.py b/connector_magento/models/product/__init__.py new file mode 100644 index 000000000..79ab5dc6b --- /dev/null +++ b/connector_magento/models/product/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import importer diff --git a/connector_magento/models/product/common.py b/connector_magento/models/product/common.py new file mode 100644 index 000000000..70f901fab --- /dev/null +++ b/connector_magento/models/product/common.py @@ -0,0 +1,355 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging +import xmlrpc.client + +from collections import defaultdict + +from odoo import models, fields, api +from odoo.addons.connector.exception import IDMissingInBackend +from odoo.addons.component.core import Component +from odoo.addons.component_event import skip_if +from odoo.addons.queue_job.job import job, related_action +from odoo.exceptions import UserError +from odoo.tools.translate import _ +from ...components.backend_adapter import MAGENTO_DATETIME_FORMAT + +_logger = logging.getLogger(__name__) + + +def chunks(items, length): + for index in range(0, len(items), length): + yield items[index:index + length] + + +class MagentoProductProduct(models.Model): + _name = 'magento.product.product' + _inherit = 'magento.binding' + _inherits = {'product.product': 'odoo_id'} + _description = 'Magento Product' + + @api.model + def product_type_get(self): + return [ + ('simple', 'Simple Product'), + ('configurable', 'Configurable Product'), + ('virtual', 'Virtual Product'), + ('downloadable', 'Downloadable Product'), + ('giftcard', 'Giftcard') + # XXX activate when supported + # ('grouped', 'Grouped Product'), + # ('bundle', 'Bundle Product'), + ] + + odoo_id = fields.Many2one(comodel_name='product.product', + string='Odoo Product', + required=True, + ondelete='restrict') + magento_internal_id = fields.Char( + help=( + 'In Magento2, we have to keep track of both the external_id (the ' + 'product SKU) which is used in the Magento2 REST API, as well as ' + 'the Magento internal id as used in the admin URL.')) + # XXX website_ids can be computed from categories + website_ids = fields.Many2many(comodel_name='magento.website', + string='Websites', + readonly=True) + created_at = fields.Date('Created At (on Magento)') + updated_at = fields.Date('Updated At (on Magento)') + product_type = fields.Selection(selection='product_type_get', + string='Magento Product Type', + default='simple', + required=True) + manage_stock = fields.Selection( + selection=[('use_default', 'Use Default Config'), + ('no', 'Do Not Manage Stock'), + ('yes', 'Manage Stock')], + string='Manage Stock Level', + default='use_default', + required=True, + ) + backorders = fields.Selection( + selection=[('use_default', 'Use Default Config'), + ('no', 'No Sell'), + ('yes', 'Sell Quantity < 0'), + ('yes-and-notification', 'Sell Quantity < 0 and ' + 'Use Customer Notification')], + string='Manage Inventory Backorders', + default='use_default', + required=True, + ) + magento_qty = fields.Float(string='Computed Quantity', + help="Last computed quantity to send " + "on Magento.") + no_stock_sync = fields.Boolean( + string='No Stock Synchronization', + required=False, + help="Check this to exclude the product " + "from stock synchronizations.", + ) + + RECOMPUTE_QTY_STEP = 1000 # products at a time + + @job(default_channel='root.magento') + @related_action(action='related_action_unwrap_binding') + @api.multi + def export_inventory(self, fields=None): + """ Export the inventory configuration and quantity of a product. """ + self.ensure_one() + with self.backend_id.work_on(self._name) as work: + exporter = work.component(usage='product.inventory.exporter') + return exporter.run(self, fields) + + @api.multi + def recompute_magento_qty(self): + """ Check if the quantity in the stock location configured + on the backend has changed since the last export. + + If it has changed, write the updated quantity on `magento_qty`. + The write on `magento_qty` will trigger an `on_record_write` + event that will create an export job. + + It groups the products by backend to avoid to read the backend + informations for each product. + """ + # group products by backend + backends = defaultdict(set) + for product in self: + backends[product.backend_id].add(product.id) + + for backend, product_ids in list(backends.items()): + self._recompute_magento_qty_backend(backend, + self.browse(product_ids)) + return True + + @api.multi + def _recompute_magento_qty_backend(self, backend, products, + read_fields=None): + """ Recompute the products quantity for one backend. + + If field names are passed in ``read_fields`` (as a list), they + will be read in the product that is used in + :meth:`~._magento_qty`. + + """ + if backend.product_stock_field_id: + stock_field = backend.product_stock_field_id.name + else: + stock_field = 'virtual_available' + + location = self.env['stock.location'] + if self.env.context.get('location'): + location = location.browse(self.env.context['location']) + else: + location = backend.warehouse_id.lot_stock_id + + product_fields = ['magento_qty', stock_field] + if read_fields: + product_fields += read_fields + + self_with_location = self.with_context(location=location.id) + for chunk_ids in chunks(products.ids, self.RECOMPUTE_QTY_STEP): + records = self_with_location.browse(chunk_ids) + for product in records.read(fields=product_fields): + new_qty = self._magento_qty(product, + backend, + location, + stock_field) + if new_qty != product['magento_qty']: + self.browse(product['id']).magento_qty = new_qty + + @api.multi + def _magento_qty(self, product, backend, location, stock_field): + """ Return the current quantity for one product. + + Can be inherited to change the way the quantity is computed, + according to a backend / location. + + If you need to read additional fields on the product, see the + ``read_fields`` argument of :meth:`~._recompute_magento_qty_backend` + + """ + return product[stock_field] + + @api.model + def _get_admin_path(self, backend, external_id): + """ In Magento2, we can only link to the product when we have already + imported it """ + if backend.version == '1.7': + return '/{model}/edit/id/{id}' + magento_internal_id = self.search( + [('backend_id', '=', backend.id), + ('external_id', '=', external_id)], + limit=1).magento_internal_id + if magento_internal_id: + return 'catalog/product/edit/id/%s' % magento_internal_id + raise UserError(_( + 'We have to import the product before we can provide the admin ' + 'link to it.')) + + +class ProductProduct(models.Model): + _inherit = 'product.product' + + magento_bind_ids = fields.One2many( + comodel_name='magento.product.product', + inverse_name='odoo_id', + string='Magento Bindings', + ) + + +class ProductProductAdapter(Component): + _name = 'magento.product.product.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.product.product' + + _magento_model = 'catalog_product' + _magento2_model = 'products' + _magento2_search = 'products' + _magento2_key = 'sku' + _admin_path = '/{model}/edit/id/{id}' + + def _call(self, method, arguments, http_method=None, storeview=None): + try: + return super(ProductProductAdapter, self)._call( + method, arguments, http_method=http_method, + storeview=storeview) + except xmlrpc.client.Fault as err: + # this is the error in the Magento API + # when the product does not exist + if err.faultCode == 101: + raise IDMissingInBackend + else: + raise + + def search(self, filters=None, from_date=None, to_date=None): + """ Search records according to some criteria + and returns a list of ids + + :rtype: list + """ + if filters is None: + filters = {} + dt_fmt = MAGENTO_DATETIME_FORMAT + if from_date is not None: + filters.setdefault('updated_at', {}) + filters['updated_at']['from'] = from_date.strftime(dt_fmt) + if to_date is not None: + filters.setdefault('updated_at', {}) + filters['updated_at']['to'] = to_date.strftime(dt_fmt) + if self.collection.version == '1.7': + # TODO add a search entry point on the Magento API + return [int(row['product_id']) for row + in self._call('%s.list' % self._magento_model, + [filters] if filters else [{}])] + return super(ProductProductAdapter, self).search(filters=filters) + + def read(self, external_id, storeview_id=None, attributes=None): + """ Returns the information of a record + + :rtype: dict + """ + # pylint: disable=method-required-super + if self.collection.version == '1.7': + return self._call( + 'ol_catalog_product.info', + [int(external_id), storeview_id, attributes, 'id']) + res = super(ProductProductAdapter, self).read( + external_id, attributes=attributes, storeview=storeview_id) + if res: + for attr in res.get('custom_attributes', []): + res[attr['attribute_code']] = attr['value'] + return res + + def write(self, external_id, data, storeview_id=None): + """ Update records on the external system """ + # pylint: disable=method-required-super + # XXX actually only ol_catalog_product.update works + # the PHP connector maybe breaks the catalog_product.update + if self.collection.version == '1.7': + return self._call('ol_catalog_product.update', + [int(external_id), data, storeview_id, 'id']) + raise NotImplementedError # TODO + + def get_images(self, external_id, storeview_id=None, data=None): + """ Fetch image metadata either by querying Magento 1.x, or extracting + it from the product data for Magento 2.x """ + if self.collection.version == '1.7': + return self._call('product_media.list', + [int(external_id), storeview_id, 'id']) + + res = [] + # Fetch base media url from storeview + storeview = ( + self.env['magento.storeview'].browse(storeview_id) if storeview_id + else self.env['magento.storeview'].search( + [('backend_id', '=', self.collection.id), + ('code', '=', 'default')])) + base_url = (storeview.base_media_url or + '%s/media/' % self.backend_record.location) + + for entry in data.get('media_gallery_entries', []): + if entry['media_type'] == 'image': + entry['url'] = '%scatalog/product/%s' % ( + base_url, entry['file']) + res.append(entry) + return res + + def read_image(self, external_id, image_name, storeview_id=None): + if self.collection.version == '1.7': + return self._call( + 'product_media.info', + [int(external_id), image_name, storeview_id, 'id']) + raise NotImplementedError # TODO + + def update_inventory(self, external_id, data): + """ Update the default stock. For Magento2, first retrieve the stock + item that applies to this stock for the product. """ + if self.collection.version == '1.7': + # product_stock.update is too slow + return self._call('oerp_cataloginventory_stock_item.update', + [int(external_id), data]) + + # Magento2 + data = {'stockItem': data} + res = self._call('stockItems/%s' % self.escape(external_id), None) + if isinstance(res, dict): + res = [res] + item_id = 0 + for item in res: + if item['stock_id'] == 1: + item_id = item['item_id'] + break + else: + raise ValueError( + 'No stock item found for product %s for default stock_id 1' % + external_id) + self._call('products/%s/stockItems/%s' % ( + self.escape(external_id), item_id), data, http_method='put') + + +class MagentoBindingProductListener(Component): + _name = 'magento.binding.product.product.listener' + _inherit = 'base.connector.listener' + _apply_on = ['magento.product.product'] + + # fields which should not trigger an export of the products + # but an export of their inventory + INVENTORY_FIELDS = ('manage_stock', + 'backorders', + 'magento_qty', + ) + + @skip_if(lambda self, record, **kwargs: self.no_connector_export(record)) + def on_record_write(self, record, fields=None): + if record.no_stock_sync: + return + inventory_fields = list( + set(fields).intersection(self.INVENTORY_FIELDS) + ) + if inventory_fields: + record.with_delay(priority=20).export_inventory( + fields=inventory_fields + ) diff --git a/connector_magento/models/product/importer.py b/connector_magento/models/product/importer.py new file mode 100644 index 000000000..b20882172 --- /dev/null +++ b/connector_magento/models/product/importer.py @@ -0,0 +1,415 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import logging +import requests +import base64 +import sys + +from odoo import _ +from odoo.addons.component.core import Component +from odoo.addons.connector.components.mapper import mapping, only_create +from odoo.addons.connector.exception import MappingError, InvalidDataError +from ...components.mapper import normalize_datetime + +_logger = logging.getLogger(__name__) + + +class ProductBatchImporter(Component): + """ Import the Magento Products. + + For every product category in the list, a delayed job is created. + Import from a date + """ + _name = 'magento.product.product.batch.importer' + _inherit = 'magento.delayed.batch.importer' + _apply_on = ['magento.product.product'] + + def run(self, filters=None): + """ Run the synchronization """ + from_date = filters.pop('from_date', None) + to_date = filters.pop('to_date', None) + external_ids = self.backend_adapter.search(filters, + from_date=from_date, + to_date=to_date) + _logger.info('search for magento products %s returned %s', + filters, external_ids) + for external_id in external_ids: + self._import_record(external_id) + + +class CatalogImageImporter(Component): + """ Import images for a record. + + Usually called from importers, in ``_after_import``. + For instance from the products importer. + """ + _name = 'magento.product.image.importer' + _inherit = 'magento.importer' + _apply_on = ['magento.product.product'] + _usage = 'product.image.importer' + + def _get_images(self, storeview_id=None, data=None): + return self.backend_adapter.get_images( + self.external_id, storeview_id, data=data) + + def _sort_images(self, images): + """ Returns a list of images sorted by their priority. + An image with the 'image' type is the the primary one. + The other images are sorted by their position. + + The returned list is reversed, the items at the end + of the list have the higher priority. + """ + if not images: + return {} + # place the images where the type is 'image' first then + # sort them by the reverse priority (last item of the list has + # the the higher priority) + + def priority(image): + primary = 'image' in image['types'] + try: + position = int(image['position']) + except ValueError: + position = sys.maxsize + return (primary, -position) + return sorted(images, key=priority) + + def _get_binary_image(self, image_data): + url = image_data['url'] + headers = {} + if self.backend_record.auth_basic_username \ + and self.backend_record.auth_basic_password: + base64string = base64.b64encode(("%s:%s" % ( + self.backend_record.auth_basic_username, + self.backend_record.auth_basic_password) + ).encode('utf-8')) + headers["Authorization"] = "Basic %s" % ( + base64string.decode('utf-8')) + request = requests.get( + url, headers=headers, verify=self.backend_record.verify_ssl) + if request.status_code == 404: + # the image is just missing, we skip it + return + # On any other error, we don't know why we couldn't download the + # image so we propagate the error, the import will fail and we + # have to check why it couldn't be accessed + request.raise_for_status() + return request.content + + def _write_image_data(self, binding, binary, image_data): + binding = binding.with_context(connector_no_export=True) + binding.write({'image': base64.b64encode(binary)}) + + def run(self, external_id, binding, data=None): + self.external_id = external_id + images = self._get_images(data=data) + images = self._sort_images(images) + binary = None + image_data = None + while not binary and images: + image_data = images.pop() + binary = self._get_binary_image(image_data) + if not binary: + return + self._write_image_data(binding, binary, image_data) + + +# TODO: not needed, use inheritance +class BundleImporter(Component): + """ Can be inherited to change the way the bundle products are + imported. + + Called at the end of the import of a product. + + Example of action when importing a bundle product: + - Create a bill of material + - Import the structure of the bundle in new objects + + By default, the bundle products are not imported: the jobs + are set as failed, because there is no known way to import them. + An additional module that implements the import should be installed. + + If you want to create a custom importer for the bundles, you have to + inherit the Component:: + + class BundleImporter(Component): + _inherit = 'magento.product.bundle.importer' + + And to add the bundle type in the supported product types:: + + class MagentoProductProduct(models.Model): + _inherit = 'magento.product.product' + + @api.model + def product_type_get(self): + types = super(MagentoProductProduct, self).product_type_get() + if 'bundle' not in [item[0] for item in types]: + types.append(('bundle', 'Bundle')) + return types + + """ + _name = 'magento.product.bundle.importer' + _inherit = 'magento.importer' + _apply_on = ['magento.product.product'] + _usage = 'product.bundle.importer' + + def run(self, binding, magento_record): + """ Import the bundle information about a product. + + :param magento_record: product information from Magento + """ + + +class ProductImportMapper(Component): + _name = 'magento.product.product.import.mapper' + _inherit = 'magento.import.mapper' + _apply_on = ['magento.product.product'] + + # TODO : categ, special_price => minimal_price + direct = [('name', 'name'), + ('id', 'magento_internal_id'), + ('description', 'description'), + ('weight', 'weight'), + ('cost', 'standard_price'), + ('short_description', 'description_sale'), + ('sku', 'default_code'), + ('type_id', 'product_type'), + (normalize_datetime('created_at'), 'created_at'), + (normalize_datetime('updated_at'), 'updated_at'), + ] + + @only_create + @mapping + def odoo_id(self, record): + """ Will bind the product to an existing one with the same code """ + product = self.env['product.product'].search( + [('default_code', '=', record['sku'])], limit=1) + if product: + return {'odoo_id': product.id} + + @mapping + def external_id(self, record): + """ Magento 2 to use sku as external id, because this is used as the + slug in the product REST API """ + if self.collection.version == '2.0': + return {'external_id': record['sku']} + + @mapping + def is_active(self, record): + """Check if the product is active in Magento + and set active flag in OpenERP + status == 1 in Magento means active. + Magento 2.x returns an integer, 1.x a string """ + return {'active': (record.get('status') in (1, '1'))} + + @mapping + def price(self, record): + return {'list_price': record.get('price', 0.0)} + + @mapping + def type(self, record): + if record['type_id'] == 'simple': + return {'type': 'product'} + elif record['type_id'] in ('virtual', 'downloadable', 'giftcard'): + return {'type': 'service'} + return + + @mapping + def website_ids(self, record): + """ Websites are not returned in Magento 2.x, see + https://github.com/magento/magento2/issues/3864 """ + website_ids = [] + binder = self.binder_for('magento.website') + for mag_website_id in record.get('websites', []): + website_binding = binder.to_internal(mag_website_id) + website_ids.append((4, website_binding.id)) + return {'website_ids': website_ids} + + @mapping + def categories(self, record): + """ Fetch categories key for Magento 1.x or category_ids + for Magento 2.x from product record """ + mag_categories = record.get('category_ids') or record.get( + 'categories', []) + binder = self.binder_for('magento.product.category') + + category_ids = [] + main_categ_id = None + + for mag_category_id in mag_categories: + cat = binder.to_internal(mag_category_id, unwrap=True) + if not cat: + raise MappingError("The product category with " + "magento id %s is not imported." % + mag_category_id) + + category_ids.append(cat.id) + + if category_ids: + main_categ_id = category_ids.pop(0) + + if main_categ_id is None: + default_categ = self.backend_record.default_category_id + if default_categ: + main_categ_id = default_categ.id + + result = {'categ_ids': [(6, 0, category_ids)]} + if main_categ_id: # OpenERP assign 'All Products' if not specified + result['categ_id'] = main_categ_id + return result + + @mapping + def backend_id(self, record): + return {'backend_id': self.backend_record.id} + + +class ProductImporter(Component): + _name = 'magento.product.product.importer' + _inherit = 'magento.importer' + _apply_on = ['magento.product.product'] + + def _import_bundle_dependencies(self): + """ Import the dependencies for a Bundle """ + if self.collection.version == '1.7': + for dependency in [ + selection for option in + self.magento_record['_bundle_data']['options'] + for selection in option['selections']]: + self._import_dependency(dependency['product_id'], + 'magento.product.product') + else: + for dependency in [ + product_link for option in self.magento_record[ + 'extension_attributes']['bundle_product_options'] + for product_link in option['product_links']]: + self._import_dependency(dependency['sku'], + 'magento.product.product') + + def _import_dependencies(self): + """ Import the dependencies for the record""" + record = self.magento_record + # import related categories + for mag_category_id in (record.get('category_ids') or record.get( + 'categories', [])): + self._import_dependency(mag_category_id, + 'magento.product.category') + if record['type_id'] == 'bundle': + self._import_bundle_dependencies() + + def _validate_product_type(self, data): + """ Check if the product type is in the selection (so we can + prevent the `except_orm` and display a better error message). + """ + product_type = data['product_type'] + product_model = self.env['magento.product.product'] + types = product_model.product_type_get() + available_types = [typ[0] for typ in types] + if product_type not in available_types: + raise InvalidDataError("The product type '%s' is not " + "yet supported in the connector." % + product_type) + + def _must_skip(self): + """ Hook called right after we read the data from the backend. + + If the method returns a message giving a reason for the + skipping, the import will be interrupted and the message + recorded in the job (if the import is called directly by the + job, not by dependencies). + + If it returns None, the import will continue normally. + + :returns: None | str | unicode + """ + if self.magento_record['type_id'] == 'configurable': + return _('The configurable product is not imported in Odoo, ' + 'because only the simple products are used in the sales ' + 'orders.') + + def _validate_data(self, data): + """ Check if the values to import are correct + + Pro-actively check before the ``_create`` or + ``_update`` if some fields are missing or invalid + + Raise `InvalidDataError` + """ + self._validate_product_type(data) + + def _create(self, data): + binding = super()._create(data) + if not binding.active: + # Disable reordering rules that has been created automatically + binding.orderpoint_ids.write({'active': False}) + self.backend_record.add_checkpoint(binding) + return binding + + def _update(self, binding, data): + # enable/disable reordering rules before updating the product as Odoo + # do not allow to disable a product while having active reordering + # rules on it + if 'active' in data and not data.get('active'): + binding.mapped('orderpoint_ids').write({'active': False}) + res = super()._update(binding, data) + return res + + def _after_import(self, binding): + """ Hook called at the end of the import """ + translation_importer = self.component( + usage='translation.importer', + ) + translation_importer.run( + self.external_id, + binding, + mapper='magento.product.product.import.mapper' + ) + image_importer = self.component(usage='product.image.importer') + image_importer.run(self.external_id, binding, data=self.magento_record) + + if self.magento_record['type_id'] == 'bundle': + bundle_importer = self.component(usage='product.bundle.importer') + bundle_importer.run(binding, self.magento_record) + + +class ProductInventoryExporter(Component): + _name = 'magento.product.product.exporter' + _inherit = 'magento.exporter' + _apply_on = ['magento.product.product'] + _usage = 'product.inventory.exporter' + + _map_backorders = {'use_default': 0, + 'no': 0, + 'yes': 1, + 'yes-and-notification': 2, + } + + def _get_data(self, binding, fields): + result = {} + if 'magento_qty' in fields: + result.update({ + 'qty': binding.magento_qty, + # put the stock availability to "out of stock" + 'is_in_stock': int(binding.magento_qty > 0) + }) + if 'manage_stock' in fields: + manage = binding.manage_stock + result.update({ + 'manage_stock': int(manage == 'yes'), + 'use_config_manage_stock': int(manage == 'use_default'), + }) + if 'backorders' in fields: + backorders = binding.backorders + result.update({ + 'backorders': self._map_backorders[backorders], + 'use_config_backorders': int(backorders == 'use_default'), + }) + return result + + def run(self, binding, fields): + """ Export the product inventory to Magento """ + external_id = self.binder.to_external(binding) + data = self._get_data(binding, fields) + self.backend_adapter.update_inventory(external_id, data) diff --git a/connector_magento/models/product_category/__init__.py b/connector_magento/models/product_category/__init__.py new file mode 100644 index 000000000..79ab5dc6b --- /dev/null +++ b/connector_magento/models/product_category/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import importer diff --git a/connector_magento/models/product_category/common.py b/connector_magento/models/product_category/common.py new file mode 100644 index 000000000..67f1990f7 --- /dev/null +++ b/connector_magento/models/product_category/common.py @@ -0,0 +1,160 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging +import xmlrpc.client +from odoo import models, fields +from odoo.addons.connector.exception import IDMissingInBackend +from odoo.addons.component.core import Component +from ...components.backend_adapter import MAGENTO_DATETIME_FORMAT + +_logger = logging.getLogger(__name__) + + +class MagentoProductCategory(models.Model): + _name = 'magento.product.category' + _inherit = 'magento.binding' + _inherits = {'product.category': 'odoo_id'} + _description = 'Magento Product Category' + + odoo_id = fields.Many2one(comodel_name='product.category', + string='Product Category', + required=True, + ondelete='cascade') + description = fields.Text(translate=True) + magento_parent_id = fields.Many2one( + comodel_name='magento.product.category', + string='Magento Parent Category', + ondelete='cascade', + ) + magento_child_ids = fields.One2many( + comodel_name='magento.product.category', + inverse_name='magento_parent_id', + string='Magento Child Categories', + ) + + +class ProductCategory(models.Model): + _inherit = 'product.category' + + magento_bind_ids = fields.One2many( + comodel_name='magento.product.category', + inverse_name='odoo_id', + string="Magento Bindings", + ) + + +class ProductCategoryAdapter(Component): + _name = 'magento.product.category.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.product.category' + + _magento_model = 'catalog_category' + _magento2_model = 'categories' + _magento2_key = 'id' + _admin_path = '/{model}/index/' + # Not valid without security key + # _admin2_path = '/catalog/category/index/' + + def _call(self, method, arguments, http_method=None, storeview=None): + try: + return super(ProductCategoryAdapter, self)._call( + method, arguments, http_method=http_method, + storeview=storeview) + except xmlrpc.client.Fault as err: + # 101 is the error in the Magento API + # when the category does not exist + if err.faultCode == 102: + raise IDMissingInBackend + else: + raise + + def search(self, filters=None, from_date=None, to_date=None): + """ Search records according to some criteria and return a + list of ids + + :rtype: list + """ + if filters is None: + filters = {} + + dt_fmt = MAGENTO_DATETIME_FORMAT + if from_date is not None: + filters.setdefault('updated_at', {}) + # updated_at include the created records + filters['updated_at']['from'] = from_date.strftime(dt_fmt) + if to_date is not None: + filters.setdefault('updated_at', {}) + filters['updated_at']['to'] = to_date.strftime(dt_fmt) + if self.collection.version == '1.7': + return self._call('oerp_catalog_category.search', + [filters] if filters else [{}]) + return super(ProductCategoryAdapter, self).search(filters=filters) + + def read(self, external_id, storeview_id=None, attributes=None): + """ Returns the information of a record + + :rtype: dict + """ + # pylint: disable=method-required-super + if self.collection.version == '1.7': + return self._call('%s.info' % self._magento_model, + [int(external_id), storeview_id, attributes]) + return super(ProductCategoryAdapter, self).read( + external_id, attributes, storeview=storeview_id) + + def tree(self, parent_id=None, storeview_id=None): + """ Returns a tree of product categories + + :rtype: dict + """ + def filter_ids(tree): + children = {} + if tree['children']: + for node in tree['children']: + children.update(filter_ids(node)) + category_id = {tree['category_id']: children} + return category_id + + if self.collection.version == '1.7': + if parent_id: + parent_id = int(parent_id) + tree = self._call('%s.tree' % self._magento_model, + [parent_id, storeview_id]) + return filter_ids(tree) + raise NotImplementedError # TODO + + def move(self, categ_id, parent_id, after_categ_id=None): + if self.collection.version == '1.7': + return self._call('%s.move' % self._magento_model, + [categ_id, parent_id, after_categ_id]) + return self._call( + '%s/%s/move' % (self._magento2_model, categ_id), { + 'parent_id': parent_id, + 'after_id': after_categ_id, + }) + + def get_assigned_product(self, categ_id): + if self.collection.version == '1.7': + return self._call('%s.assignedProducts' % self._magento_model, + [categ_id]) + raise NotImplementedError # TODO + + def assign_product(self, categ_id, product_id, position=0): + if self.collection.version == '1.7': + return self._call('%s.assignProduct' % self._magento_model, + [categ_id, product_id, position, 'id']) + raise NotImplementedError # TODO + + def update_product(self, categ_id, product_id, position=0): + if self.collection.version == '1.7': + return self._call('%s.updateProduct' % self._magento_model, + [categ_id, product_id, position, 'id']) + raise NotImplementedError # TODO + + def remove_product(self, categ_id, product_id): + if self.collection.version == '1.7': + return self._call('%s.removeProduct' % self._magento_model, + [categ_id, product_id, 'id']) + raise NotImplementedError # TODO diff --git a/connector_magento/models/product_category/importer.py b/connector_magento/models/product_category/importer.py new file mode 100644 index 000000000..529846fb5 --- /dev/null +++ b/connector_magento/models/product_category/importer.py @@ -0,0 +1,116 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.addons.component.core import Component +from odoo.addons.connector.components.mapper import mapping +from odoo.addons.connector.exception import MappingError + + +class ProductCategoryBatchImporter(Component): + """ Import the Magento Product Categories. + + For every product category in the list, a delayed job is created. + A priority is set on the jobs according to their level to rise the + chance to have the top level categories imported first. + """ + _name = 'magento.product.category.batch.importer' + _inherit = 'magento.delayed.batch.importer' + _apply_on = ['magento.product.category'] + + def _import_record(self, external_id, job_options=None): + """ Delay a job for the import """ + super(ProductCategoryBatchImporter, self)._import_record( + external_id, job_options=job_options + ) + + def run(self, filters=None): + """ Run the synchronization """ + if self.collection.version == '2.0': + # TODO. See 8.0 version + raise NotImplementedError + from_date = filters.pop('from_date', None) + to_date = filters.pop('to_date', None) + if from_date or to_date: + updated_ids = self.backend_adapter.search(filters, + from_date=from_date, + to_date=to_date) + else: + updated_ids = None + + base_priority = 10 + + def import_nodes(tree, level=0): + for node_id, children in list(tree.items()): + # By changing the priority, the top level category has + # more chance to be imported before the childrens. + # However, importers have to ensure that their parent is + # there and import it if it doesn't exist + if updated_ids is None or node_id in updated_ids: + job_options = { + 'priority': base_priority + level, + } + self._import_record( + node_id, job_options=job_options) + import_nodes(children, level=level + 1) + tree = self.backend_adapter.tree() + import_nodes(tree) + + +class ProductCategoryImporter(Component): + _name = 'magento.product.category.importer' + _inherit = 'magento.importer' + _apply_on = ['magento.product.category'] + + def _import_dependencies(self): + """ Import the dependencies for the record""" + record = self.magento_record + # import parent category + # the root category has a 0 parent_id + self._import_dependency(record.get('parent_id'), self.model) + + def _create(self, data): + binding = super(ProductCategoryImporter, self)._create(data) + self.backend_record.add_checkpoint(binding) + return binding + + def _after_import(self, binding): + """ Hook called at the end of the import """ + translation_importer = self.component(usage='translation.importer') + translation_importer.run(self.external_id, binding) + + +class ProductCategoryImportMapper(Component): + _name = 'magento.product.category.import.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.product.category' + + direct = [ + ('description', 'description'), + ] + + @mapping + def name(self, record): + if record['level'] == '0': # top level category; has no name + return {'name': self.backend_record.name} + if record['name']: # may be empty in storeviews + return {'name': record['name']} + + @mapping + def backend_id(self, record): + return {'backend_id': self.backend_record.id} + + @mapping + def parent_id(self, record): + if not record.get('parent_id'): + return + binder = self.binder_for() + parent_binding = binder.to_internal(record['parent_id']) + + if not parent_binding: + raise MappingError("The product category with " + "magento id %s is not imported." % + record['parent_id']) + + parent = parent_binding.odoo_id + return {'parent_id': parent.id, 'magento_parent_id': parent_binding.id} diff --git a/connector_magento/models/queue_job/__init__.py b/connector_magento/models/queue_job/__init__.py new file mode 100644 index 000000000..e4193cf05 --- /dev/null +++ b/connector_magento/models/queue_job/__init__.py @@ -0,0 +1 @@ +from . import common diff --git a/connector_magento/models/queue_job/common.py b/connector_magento/models/queue_job/common.py new file mode 100644 index 000000000..69cd6ae4c --- /dev/null +++ b/connector_magento/models/queue_job/common.py @@ -0,0 +1,35 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import _, api, exceptions, models + + +class QueueJob(models.Model): + + _inherit = 'queue.job' + + @api.multi + def related_action_magento_link(self, backend_id_pos=0, external_id_pos=1): + """ Open a Magento URL on the admin page to view/edit the record + related to the job. + """ + self.ensure_one() + model_name = self.model_name + backend = self.args[backend_id_pos] + external_id = self.args[external_id_pos] + with backend.work_on(model_name) as work: + adapter = work.component(usage='backend.adapter') + try: + url = adapter.admin_url(external_id) + except ValueError: + raise exceptions.UserError( + _('No admin URL configured on the backend or ' + 'no admin path is defined for this record.') + ) + + action = { + 'type': 'ir.actions.act_url', + 'target': 'new', + 'url': url, + } + return action diff --git a/connector_magento/models/sale_order/__init__.py b/connector_magento/models/sale_order/__init__.py new file mode 100644 index 000000000..8de7312a2 --- /dev/null +++ b/connector_magento/models/sale_order/__init__.py @@ -0,0 +1,3 @@ +from . import common +from . import importer +from . import exporter diff --git a/connector_magento/models/sale_order/common.py b/connector_magento/models/sale_order/common.py new file mode 100644 index 000000000..39d6c2669 --- /dev/null +++ b/connector_magento/models/sale_order/common.py @@ -0,0 +1,311 @@ +# © 2013 Guewen Baconnier,Camptocamp SA,Akretion +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging +import xmlrpc.client + +import odoo.addons.decimal_precision as dp + +from odoo import models, fields, api, _ +from odoo.addons.connector.exception import IDMissingInBackend +from odoo.addons.queue_job.job import job +from odoo.addons.component.core import Component + +from ...components.backend_adapter import MAGENTO_DATETIME_FORMAT + +_logger = logging.getLogger(__name__) + + +class MagentoSaleOrder(models.Model): + _name = 'magento.sale.order' + _inherit = 'magento.binding' + _description = 'Magento Sale Order' + _inherits = {'sale.order': 'odoo_id'} + + odoo_id = fields.Many2one(comodel_name='sale.order', + string='Sale Order', + required=True, + ondelete='cascade') + magento_order_line_ids = fields.One2many( + comodel_name='magento.sale.order.line', + inverse_name='magento_order_id', + string='Magento Order Lines' + ) + total_amount = fields.Float( + string='Total amount', + digits=dp.get_precision('Account') + ) + total_amount_tax = fields.Float( + string='Total amount w. tax', + digits=dp.get_precision('Account') + ) + magento_order_id = fields.Integer(string='Magento Order ID', + help="'order_id' field in Magento") + # when a sale order is modified, Magento creates a new one, cancels + # the parent order and link the new one to the canceled parent + magento_parent_id = fields.Many2one(comodel_name='magento.sale.order', + string='Parent Magento Order') + storeview_id = fields.Many2one(comodel_name='magento.storeview', + string='Magento Storeview') + store_id = fields.Many2one(related='storeview_id.store_id', + string='Storeview', + readonly=True) + + @job(default_channel='root.magento') + @api.multi + def export_state_change(self, allowed_states=None, + comment=None, notify=None): + """ Change state of a sales order on Magento """ + self.ensure_one() + with self.backend_id.work_on(self._name) as work: + exporter = work.component(usage='sale.state.exporter') + return exporter.run(self, allowed_states=allowed_states, + comment=comment, notify=notify) + + @job(default_channel='root.magento') + @api.model + def import_batch(self, backend, filters=None): + """ Prepare the import of Sales Orders from Magento """ + assert 'magento_storeview_id' in filters, ('Missing information about ' + 'Magento Storeview') + _super = super(MagentoSaleOrder, self) + return _super.import_batch(backend, filters=filters) + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + magento_bind_ids = fields.One2many( + comodel_name='magento.sale.order', + inverse_name='odoo_id', + string="Magento Bindings", + ) + + @api.depends('magento_bind_ids', 'magento_bind_ids.magento_parent_id') + def get_parent_id(self): + """ Return the parent order. + + For Magento sales orders, the magento parent order is stored + in the binding, get it from there. + """ + super(SaleOrder, self).get_parent_id() + for order in self: + if not order.magento_bind_ids: + continue + # assume we only have 1 SO in Odoo for 1 SO in Magento + assert len(order.magento_bind_ids) == 1 + magento_order = order.magento_bind_ids[0] + if magento_order.magento_parent_id: + self.parent_id = magento_order.magento_parent_id.odoo_id + + def _magento_cancel(self): + """ Cancel sales order on Magento + + Do not export the other state changes, Magento handles them itself + when it receives shipments and invoices. + """ + for order in self: + old_state = order.state + if old_state == 'cancel': + continue # skip if already canceled + for binding in order.magento_bind_ids: + job_descr = _("Cancel sales order %s") % (binding.external_id,) + binding.with_delay( + description=job_descr + ).export_state_change(allowed_states=['cancel']) + + @api.multi + def write(self, vals): + if vals.get('state') == 'cancel': + self._magento_cancel() + return super(SaleOrder, self).write(vals) + + def _magento_link_binding_of_copy(self, new): + # link binding of the canceled order to the new order, so the + # operations done on the new order will be sync'ed with Magento + if self.state != 'cancel': + return + binding_model = self.env['magento.sale.order'] + bindings = binding_model.search([('odoo_id', '=', self.id)]) + bindings.write({'odoo_id': new.id}) + + for binding in bindings: + # the sales' status on Magento is likely 'canceled' + # so we will export the new status (pending, processing, ...) + job_descr = _("Reopen sales order %s") % (binding.external_id,) + binding.with_delay( + description=job_descr + ).export_state_change() + + @api.multi + def copy(self, default=None): + self_copy = self.with_context(__copy_from_quotation=True) + new = super(SaleOrder, self_copy).copy(default=default) + self_copy._magento_link_binding_of_copy(new) + return new + + +class MagentoSaleOrderLine(models.Model): + _name = 'magento.sale.order.line' + _inherit = 'magento.binding' + _description = 'Magento Sale Order Line' + _inherits = {'sale.order.line': 'odoo_id'} + + magento_order_id = fields.Many2one(comodel_name='magento.sale.order', + string='Magento Sale Order', + required=True, + ondelete='cascade', + index=True) + odoo_id = fields.Many2one(comodel_name='sale.order.line', + string='Sale Order Line', + required=True, + ondelete='cascade') + backend_id = fields.Many2one( + related='magento_order_id.backend_id', + string='Magento Backend', + readonly=True, + store=True, + # override 'magento.binding', can't be INSERTed if True: + required=False, + ) + tax_rate = fields.Float(string='Tax Rate', + digits=dp.get_precision('Account')) + notes = fields.Char() + + @api.model + def create(self, vals): + magento_order_id = vals['magento_order_id'] + binding = self.env['magento.sale.order'].browse(magento_order_id) + vals['order_id'] = binding.odoo_id.id + binding = super(MagentoSaleOrderLine, self).create(vals) + # FIXME triggers function field + # The amounts (amount_total, ...) computed fields on 'sale.order' are + # not triggered when magento.sale.order.line are created. + # It might be a v8 regression, because they were triggered in + # v7. Before getting a better correction, force the computation + # by writing again on the line. + # line = binding.odoo_id + # line.write({'price_unit': line.price_unit}) + return binding + + +class SaleOrderLine(models.Model): + _inherit = 'sale.order.line' + + magento_bind_ids = fields.One2many( + comodel_name='magento.sale.order.line', + inverse_name='odoo_id', + string="Magento Bindings", + ) + + @api.model + def create(self, vals): + old_line_id = None + if self.env.context.get('__copy_from_quotation'): + # when we are copying a sale.order from a canceled one, + # the id of the copied line is inserted in the vals + # in `copy_data`. + old_line_id = vals.pop('__copy_from_line_id', None) + new_line = super(SaleOrderLine, self).create(vals) + if old_line_id: + # link binding of the canceled order lines to the new order + # lines, happens when we are using the 'New Copy of + # Quotation' button on a canceled sales order + binding_model = self.env['magento.sale.order.line'] + bindings = binding_model.search([('odoo_id', '=', old_line_id)]) + if bindings: + bindings.write({'odoo_id': new_line.id}) + return new_line + + @api.multi + def copy_data(self, default=None): + data = super(SaleOrderLine, self).copy_data(default=default)[0] + if self.env.context.get('__copy_from_quotation'): + # copy_data is called by `copy` of the sale.order which + # builds a dict for the full new sale order, so we lose the + # association between the old and the new line. + # Keep a trace of the old id in the vals that will be passed + # to `create`, from there, we'll be able to update the + # Magento bindings, modifying the relation from the old to + # the new line. + data['__copy_from_line_id'] = self.id + return [data] + + +class SaleOrderAdapter(Component): + _name = 'magento.sale.order.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.sale.order' + + _magento_model = 'sales_order' + _magento2_model = 'orders' + _magento2_search = 'orders' + _magento2_key = 'entity_id' + _admin_path = '{model}/view/order_id/{id}' + _admin2_path = 'sales/order/view/order_id/{id}' + + def _call(self, method, arguments, http_method=None, storeview=None): + try: + return super(SaleOrderAdapter, self)._call( + method, arguments, http_method=http_method, + storeview=storeview) + except xmlrpc.client.Fault as err: + # this is the error in the Magento API + # when the sales order does not exist + if err.faultCode == 100: + raise IDMissingInBackend + else: + raise + + def search(self, filters=None, from_date=None, to_date=None, + magento_storeview_ids=None): + """ Search records according to some criteria + and returns a list of ids + + :rtype: list + """ + if filters is None: + filters = {} + dt_fmt = MAGENTO_DATETIME_FORMAT + if from_date is not None: + filters.setdefault('created_at', {}) + filters['created_at']['from'] = from_date.strftime(dt_fmt) + if to_date is not None: + filters.setdefault('created_at', {}) + filters['created_at']['to'] = to_date.strftime(dt_fmt) + if magento_storeview_ids is not None: + filters['store_id'] = {'in': magento_storeview_ids} + + if self.collection.version == '1.7': + arguments = { + 'imported': False, + # 'limit': 200, + 'filters': filters, + } + else: + arguments = filters + return super(SaleOrderAdapter, self).search(arguments) + + def read(self, external_id, attributes=None): + """ Returns the information of a record + + :rtype: dict + """ + # pylint: disable=method-required-super + if self.collection.version == '1.7': + return self._call('%s.info' % self._magento_model, + [external_id, attributes]) + return super(SaleOrderAdapter, self).read( + external_id, attributes=attributes) + + def get_parent(self, external_id): + if self.collection.version == '2.0': + res = self.read(external_id) + return res.get('relation_parent_id') + return self._call('%s.get_parent' % self._magento_model, + [external_id]) + + def add_comment(self, external_id, status, comment=None, notify=False): + return self._call('%s.addComment' % self._magento_model, + [external_id, status, comment, notify]) diff --git a/connector_magento/models/sale_order/exporter.py b/connector_magento/models/sale_order/exporter.py new file mode 100644 index 000000000..3f1ad9fdd --- /dev/null +++ b/connector_magento/models/sale_order/exporter.py @@ -0,0 +1,85 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import _ +from odoo.addons.component.core import Component + + +class StateExporter(Component): + _name = 'magento.sale.state.exporter' + _inherit = 'base.exporter' + _usage = 'sale.state.exporter' + _apply_on = 'magento.sale.order' + + ORDER_STATUS_MAPPING = { # used in connector_magento_order_comment + 'draft': 'pending', + 'manual': 'processing', + 'progress': 'processing', + 'shipping_except': 'processing', + 'invoice_except': 'processing', + 'done': 'complete', + 'cancel': 'canceled', + 'waiting_date': 'holded' + } + + def run(self, binding, allowed_states=None, comment=None, notify=False): + """ Change the status of the sales order on Magento. + + It adds a comment on Magento with a status. + Sales orders on Magento have a state and a status. + The state is related to the sale workflow, and the status can be + modified liberaly. We change only the status because Magento + handle the state itself. + + When a sales order is modified, if we used the ``sales_order.cancel`` + API method, we would not be able to revert the cancellation. When + we send ``cancel`` as a status change with a new comment, we are still + able to change the status again and to create shipments and invoices + because the state is still ``new`` or ``processing``. + + :param binding: the binding record of the sales order + :param allowed_states: list of Odoo states that are allowed + for export. If empty, it will export any + state. + :param comment: Comment to display on Magento for the state change + :param notify: When True, Magento will send an email with the + comment + """ + state = binding.state + if allowed_states and state not in allowed_states: + return _('State %s is not exported.') % state + external_id = self.binder.to_external(binding) + if not external_id: + return _('Sale is not linked with a Magento sales order') + magento_state = self.ORDER_STATUS_MAPPING[state] + record = self.backend_adapter.read(external_id) + # Magento2: sometimes only 'state' is present + if (record.get('status') or record['state']) == magento_state: + return _('Magento sales order is already ' + 'in state %s') % magento_state + if self.collection.version == '2.0': + self.backend_adapter._call( + 'orders', + { + "entity": { + "entity_id": external_id, + "state": magento_state, + "status": magento_state, + }, + }, + http_method='post') + to_notify = comment and notify + self.backend_adapter._call( + 'orders/%s/comments' % external_id, + { + "statusHistory": { + "comment": comment or magento_state, + "is_customer_notified": 1 if to_notify else 0, + "is_visible_on_front": 0, + } + }, + http_method='post') + else: + self.backend_adapter.add_comment(external_id, magento_state, + comment=comment, + notify=notify) diff --git a/connector_magento/models/sale_order/importer.py b/connector_magento/models/sale_order/importer.py new file mode 100644 index 000000000..8c00b9ece --- /dev/null +++ b/connector_magento/models/sale_order/importer.py @@ -0,0 +1,793 @@ +# Copyright 2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import logging + +from re import search as re_search +from datetime import datetime, timedelta + +from odoo import _ +from odoo.addons.component.core import Component +from odoo.addons.connector.components.mapper import mapping +from odoo.addons.queue_job.exception import NothingToDoJob, FailedJobError +from ...components.mapper import normalize_datetime +from ...exception import OrderImportRuleRetry + +_logger = logging.getLogger(__name__) + + +class SaleOrderBatchImporter(Component): + _name = 'magento.sale.order.batch.importer' + _inherit = 'magento.delayed.batch.importer' + _apply_on = 'magento.sale.order' + + def _import_record(self, external_id, job_options=None, **kwargs): + job_options = { + 'max_retries': 0, + 'priority': 5, + } + return super(SaleOrderBatchImporter, self)._import_record( + external_id, job_options=job_options) + + def run(self, filters=None): + """ Run the synchronization """ + if filters is None: + filters = {} + filters['state'] = {'neq': 'canceled'} + from_date = filters.pop('from_date', None) + to_date = filters.pop('to_date', None) + magento_storeview_ids = [filters.pop('magento_storeview_id')] + external_ids = self.backend_adapter.search( + filters, + from_date=from_date, + to_date=to_date, + magento_storeview_ids=magento_storeview_ids) + _logger.info('search for magento saleorders %s returned %s', + filters, external_ids) + for external_id in external_ids: + self._import_record(external_id) + + +class SaleImportRule(Component): + _name = 'magento.sale.import.rule' + _inherit = 'base.magento.connector' + _apply_on = 'magento.sale.order' + _usage = 'sale.import.rule' + + def _rule_always(self, record, method): + """ Always import the order """ + return True + + def _rule_never(self, record, method): + """ Never import the order """ + raise NothingToDoJob('Orders with payment method %s ' + 'are never imported.' % + record['payment']['method']) + + def _rule_authorized(self, record, method): + """ Import the order only if payment has been authorized. """ + if not record.get('payment', {}).get('base_amount_authorized'): + raise OrderImportRuleRetry('The order has not been authorized.\n' + 'The import will be retried later.') + + def _rule_paid(self, record, method): + """ Import the order only if it has received a payment """ + if not record.get('payment', {}).get('amount_paid'): + raise OrderImportRuleRetry('The order has not been paid.\n' + 'The import will be retried later.') + + _rules = {'always': _rule_always, + 'paid': _rule_paid, + 'authorized': _rule_authorized, + 'never': _rule_never, + } + + def _rule_global(self, record, method): + """ Rule always executed, whichever is the selected rule """ + # the order has been canceled since the job has been created + order_id = record['increment_id'] + if record['state'] == 'canceled': + raise NothingToDoJob('Order %s canceled' % order_id) + max_days = method.days_before_cancel + if max_days: + fmt = '%Y-%m-%d %H:%M:%S' + order_date = datetime.strptime(record['created_at'], fmt) + if order_date + timedelta(days=max_days) < datetime.now(): + raise NothingToDoJob('Import of the order %s canceled ' + 'because it has not been paid since %d ' + 'days' % (order_id, max_days)) + + def check(self, record): + """ Check whether the current sale order should be imported + or not. It will actually use the payment method configuration + and see if the choosed rule is fullfilled. + + :returns: True if the sale order should be imported + :rtype: boolean + """ + payment_method = record['payment']['method'] + method = self.env['account.payment.mode'].search( + [('name', '=', payment_method)], + limit=1, + ) + if not method: + raise FailedJobError( + "The configuration is missing for the Payment Mode '%s'.\n\n" + "Resolution:\n" + "- Go to " + "'Accounting > Configuration > Management > Payment Modes'\n" + "- Create a new Payment Mode with name '%s'\n" + "- Eventually link the Payment Mode to an existing Workflow " + "Process or create a new one." % (payment_method, + payment_method)) + self._rule_global(record, method) + self._rules[method.import_rule](self, record, method) + + +class SaleOrderImportMapper(Component): + + _name = 'magento.sale.order.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.sale.order' + + direct = [('increment_id', 'external_id'), + ('order_id', 'magento_order_id'), + ('grand_total', 'total_amount'), + ('tax_amount', 'total_amount_tax'), + (normalize_datetime('created_at'), 'date_order'), + ('store_id', 'storeview_id'), + ] + + children = [('items', 'magento_order_line_ids', 'magento.sale.order.line'), + ] + + def _add_shipping_line(self, map_record, values): + record = map_record.source + amount_incl = float(record.get('base_shipping_incl_tax') or 0.0) + amount_excl = float(record.get('shipping_amount') or 0.0) + line_builder = self.component(usage='order.line.builder.shipping') + # add even if the price is 0, otherwise odoo will add a shipping + # line in the order when we ship the picking + if self.options.tax_include: + discount = float(record.get('shipping_discount_amount') or 0.0) + line_builder.price_unit = (amount_incl - discount) + else: + line_builder.price_unit = amount_excl + + if values.get('carrier_id'): + carrier = self.env['delivery.carrier'].browse(values['carrier_id']) + line_builder.product = carrier.product_id + + line = (0, 0, line_builder.get_line()) + values['order_line'].append(line) + return values + + def _add_cash_on_delivery_line(self, map_record, values): + record = map_record.source + amount_excl = float(record.get('cod_fee') or 0.0) + amount_incl = float(record.get('cod_tax_amount') or 0.0) + if not (amount_excl or amount_incl): + return values + line_builder = self.component(usage='order.line.builder.cod') + tax_include = self.options.tax_include + line_builder.price_unit = amount_incl if tax_include else amount_excl + line = (0, 0, line_builder.get_line()) + values['order_line'].append(line) + return values + + def _add_gift_certificate_line(self, map_record, values): + record = map_record.source + # if gift_cert_amount is zero or doesn't exist + if not record.get('gift_cert_amount'): + return values + amount = float(record['gift_cert_amount']) + if amount == 0.0: + return values + line_builder = self.component(usage='order.line.builder.gift') + line_builder.price_unit = amount + if 'gift_cert_code' in record: + line_builder.gift_code = record['gift_cert_code'] + line = (0, 0, line_builder.get_line()) + values['order_line'].append(line) + return values + + def _add_gift_cards_line(self, map_record, values): + record = map_record.source + # if gift_cards_amount is zero or doesn't exist + if not record.get('gift_cards_amount'): + return values + amount = float(record['gift_cards_amount']) + if amount == 0.0: + return values + line_builder = self.component(usage='order.line.builder.gift') + line_builder.price_unit = amount + if 'gift_cards' in record: + gift_code = '' + gift_cards_serialized = record.get('gift_cards') + codes = re_search(r's:1:"c";s:\d+:"(.*?)"', gift_cards_serialized) + if codes: + gift_code = ', '.join(codes.groups()) + line_builder.gift_code = gift_code + line = (0, 0, line_builder.get_line()) + values['order_line'].append(line) + return values + + def _add_store_credit_line(self, map_record, values): + record = map_record.source + if not record.get('customer_balance_amount'): + return values + amount = float(record['customer_balance_amount']) + if amount == 0.0: + return values + line_builder = self.component( + usage='order.line.builder.magento.store_credit') + line_builder.price_unit = amount + line = (0, 0, line_builder.get_line()) + values['order_line'].append(line) + return values + + def _add_rewards_line(self, map_record, values): + record = map_record.source + if not record.get('reward_currency_amount'): + return values + amount = float(record['reward_currency_amount']) + if amount == 0.0: + return values + line_builder = self.component( + usage='order.line.builder.magento.rewards') + line_builder.price_unit = amount + line = (0, 0, line_builder.get_line()) + values['order_line'].append(line) + return values + + def finalize(self, map_record, values): + values.setdefault('order_line', []) + values = self._add_shipping_line(map_record, values) + values = self._add_cash_on_delivery_line(map_record, values) + values = self._add_gift_certificate_line(map_record, values) + values = self._add_gift_cards_line(map_record, values) + values = self._add_store_credit_line(map_record, values) + values = self._add_rewards_line(map_record, values) + values.update({ + 'partner_id': self.options.partner_id, + 'partner_invoice_id': self.options.partner_invoice_id, + 'partner_shipping_id': self.options.partner_shipping_id, + }) + onchange = self.component( + usage='ecommerce.onchange.manager.sale.order' + ) + return onchange.play(values, values['magento_order_line_ids']) + + @mapping + def name(self, record): + name = record['increment_id'] + prefix = self.backend_record.sale_prefix + if prefix: + name = prefix + name + return {'name': name} + + @mapping + def customer_id(self, record): + binder = self.binder_for('magento.res.partner') + partner = binder.to_internal(record['customer_id'], unwrap=True) + assert partner, ( + "customer_id %s should have been imported in " + "SaleOrderImporter._import_dependencies" % record['customer_id']) + return {'partner_id': partner.id} + + @mapping + def payment(self, record): + record_method = record['payment']['method'] + method = self.env['account.payment.mode'].search( + [['name', '=', record_method]], + limit=1, + ) + assert method, ("method %s should exist because the import fails " + "in SaleOrderImporter._before_import when it is " + " missing" % record['payment']['method']) + return {'payment_mode_id': method.id} + + @mapping + def shipping_method(self, record): + if self.collection.version == '2.0': + shippings = record['extension_attributes']['shipping_assignments'] + ifield = shippings[0]['shipping'].get( + 'method') if shippings else None + else: + ifield = record.get('shipping_method') + if not ifield: + return + + carrier = self.env['delivery.carrier'].search( + [('magento_code', '=', ifield)], + limit=1, + ) + if carrier: + result = {'carrier_id': carrier.id} + else: + # FIXME: a mapper should not have any side effects + product = self.env.ref( + 'connector_ecommerce.product_product_shipping') + carrier = self.env['delivery.carrier'].create({ + 'product_id': product.id, + 'name': ifield, + 'magento_code': ifield}) + result = {'carrier_id': carrier.id} + return result + + @mapping + def sales_team(self, record): + team = self.options.storeview.team_id + if team: + return {'team_id': team.id} + + @mapping + def analytic_account_id(self, record): + analytic_account_id = self.options.storeview.account_analytic_id + if analytic_account_id: + return {'analytic_account_id': analytic_account_id.id} + + @mapping + def fiscal_position(self, record): + fiscal_position = self.options.storeview.fiscal_position_id + if fiscal_position: + return {'fiscal_position_id': fiscal_position.id} + + @mapping + def warehouse_id(self, record): + warehouse = self.options.storeview.warehouse_id + if warehouse: + return {'warehouse_id': warehouse.id} + + # partner_id, partner_invoice_id, partner_shipping_id + # are done in the importer + + @mapping + def backend_id(self, record): + return {'backend_id': self.backend_record.id} + + @mapping + def user_id(self, record): + """ Do not assign to a Salesperson otherwise sales orders are hidden + for the salespersons (access rules)""" + return {'user_id': False} + + +class SaleOrderImporter(Component): + _name = 'magento.sale.order.importer' + _inherit = 'magento.importer' + _apply_on = 'magento.sale.order' + + def _must_skip(self): + """ Hook called right after we read the data from the backend. + + If the method returns a message giving a reason for the + skipping, the import will be interrupted and the message + recorded in the job (if the import is called directly by the + job, not by dependencies). + + If it returns None, the import will continue normally. + + :returns: None | str | unicode + """ + if self.binder.to_internal(self.external_id): + return _('Already imported') + + def _clean_magento_items(self, resource): + """ + Method that clean the sale order line given by magento before + importing it + + This method has to stay here because it allow to customize the + behavior of the sale order. + + """ + child_items = {} # key is the parent item id + top_items = [] + + # Group the childs with their parent + for item in resource['items']: + if item.get('parent_item_id'): + child_items.setdefault(item['parent_item_id'], []).append(item) + else: + top_items.append(item) + + all_items = [] + for top_item in top_items: + if top_item['item_id'] in child_items: + item_modified = self._merge_sub_items( + top_item['product_type'], top_item, + child_items[top_item['item_id']]) + if not isinstance(item_modified, list): + item_modified = [item_modified] + all_items.extend(item_modified) + else: + all_items.append(top_item) + resource['items'] = all_items + return resource + + def _merge_sub_items(self, product_type, top_item, child_items): + """ + Manage the sub items of the magento sale order lines. A top item + contains one or many child_items. For some product types, we + want to merge them in the main item, or keep them as order line. + + This method has to stay because it allow to customize the + behavior of the sale order according to the product type. + + A list may be returned to add many items (ie to keep all + child_items as items. + + :param top_item: main item (bundle, configurable) + :param child_items: list of childs of the top item + :return: item or list of items + """ + if product_type == 'configurable': + item = top_item.copy() + # For configurable product all information regarding the + # price is in the configurable item. In the child a lot of + # information is empty, but contains the right sku and + # product_id. So the real product_id and the sku and the name + # have to be extracted from the child + for field in ['sku', 'product_id', 'name']: + item[field] = child_items[0][field] + # Experimental support for configurable products with multiple + # subitems + return [item] + child_items[1:] + elif product_type == 'bundle': + return child_items + return top_item + + def _import_customer_group(self, group_id): + self._import_dependency(group_id, 'magento.res.partner.category') + + def _before_import(self): + rules = self.component(usage='sale.import.rule') + rules.check(self.magento_record) + + def _link_parent_orders(self, binding): + """ Link the magento.sale.order to its parent orders. + + When a Magento sales order is modified, it: + - cancel the sales order + - create a copy and link the canceled one as a parent + + So we create the link to the parent sales orders. + Note that we have to walk through all the chain of parent sales orders + in the case of multiple editions / cancellations. + """ + if self.collection.version == '2.0': + parent_id = self.magento_record.get('relation_parent_id') + else: + parent_id = self.magento_record.get('relation_parent_real_id') + if not parent_id: + return + all_parent_ids = [] + while parent_id: + all_parent_ids.append(parent_id) + parent_id = self.backend_adapter.get_parent(parent_id) + current_binding = binding + for parent_id in all_parent_ids: + parent_binding = self.binder.to_internal(parent_id) + if not parent_binding: + # may happen if several sales orders have been + # edited / canceled but not all have been imported + continue + # link to the nearest parent + current_binding.write({'magento_parent_id': parent_binding.id}) + parent_canceled = parent_binding.canceled_in_backend + if not parent_canceled: + parent_binding.write({'canceled_in_backend': True}) + current_binding = parent_binding + + def _create(self, data): + binding = super(SaleOrderImporter, self)._create(data) + if binding.fiscal_position_id: + binding.odoo_id._compute_tax_id() + return binding + + def _after_import(self, binding): + self._link_parent_orders(binding) + + def _get_storeview(self, record): + """ Return the tax inclusion setting for the appropriate storeview """ + storeview_binder = self.binder_for('magento.storeview') + # we find storeview_id in store_id! + # (http://www.magentocommerce.com/bug-tracking/issue?issue=15886) + return storeview_binder.to_internal(record['store_id']) + + def _get_magento_data(self): + """ Return the raw Magento data for ``self.external_id`` """ + record = super(SaleOrderImporter, self)._get_magento_data() + # sometimes we don't have website_id... + # we fix the record! + if not record.get('website_id'): + storeview = self._get_storeview(record) + # deduce it from the storeview + record['website_id'] = storeview.store_id.website_id.external_id + # sometimes we need to clean magento items (ex : configurable + # product in a sale) + record = self._clean_magento_items(record) + return record + + def _import_addresses(self): + record = self.magento_record + + # Magento allows to create a sale order not registered as a user + is_guest_order = bool(int(record.get('customer_is_guest', 0) or 0)) + + # For a guest order or when magento does not provide customer_id + # on a non-guest order (it happens, Magento inconsistencies are + # common) + if (is_guest_order or not record.get('customer_id')): + website_binder = self.binder_for('magento.website') + website_binding = website_binder.to_internal(record['website_id']) + + # search an existing partner with the same email + partner = self.env['magento.res.partner'].search( + [('emailid', '=', record['customer_email']), + ('website_id', '=', website_binding.id)], + limit=1) + + # if we have found one, we "fix" the record with the magento + # customer id + if partner: + magento = partner.external_id + # If there are multiple orders with "customer_id is + # null" and "customer_is_guest = 0" which share the same + # customer_email, then we may get a external_id that is a + # marker 'guestorder:...' for a guest order (which is + # set below). This causes a problem with + # "importer.run..." below where the id is cast to int. + if str(magento).startswith('guestorder:'): + is_guest_order = True + else: + record['customer_id'] = magento + + # no partner matching, it means that we have to consider it + # as a guest order + else: + is_guest_order = True + + partner_binder = self.binder_for('magento.res.partner') + if is_guest_order: + # ensure that the flag is correct in the record + record['customer_is_guest'] = True + guest_customer_id = 'guestorder:%s' % record['increment_id'] + # "fix" the record with a on-purpose built ID so we can found it + # from the mapper + record['customer_id'] = guest_customer_id + + address = record['billing_address'] + + customer_group = record.get('customer_group_id') + if customer_group: + self._import_customer_group(customer_group) + + customer_record = { + 'firstname': address['firstname'], + 'middlename': address.get('middlename'), + 'lastname': address['lastname'], + 'prefix': address.get('prefix'), + 'suffix': address.get('suffix'), + 'email': record.get('customer_email'), + 'taxvat': record.get('customer_taxvat'), + 'group_id': customer_group, + 'gender': record.get('customer_gender'), + 'store_id': record['store_id'], + 'created_at': normalize_datetime('created_at')(self, + record, ''), + 'updated_at': False, + 'created_in': False, + 'dob': record.get('customer_dob'), + 'website_id': record.get('website_id'), + } + mapper = self.component(usage='import.mapper', + model_name='magento.res.partner') + map_record = mapper.map_record(customer_record) + map_record.update(guest_customer=True) + partner_binding = self.env['magento.res.partner'].create( + map_record.values(for_create=True)) + partner_binder.bind(guest_customer_id, partner_binding) + else: + + # we always update the customer when importing an order + importer = self.component(usage='record.importer', + model_name='magento.res.partner') + importer.run(record['customer_id']) + partner_binding = partner_binder.to_internal(record['customer_id']) + + partner = partner_binding.odoo_id + + # Import of addresses. We just can't rely on the + # ``customer_address_id`` field given by Magento, because it is + # sometimes empty and sometimes wrong. + + # The addresses of the sale order are imported as active=false + # so they are linked with the sale order but they are not displayed + # in the customer form and the searches. + + # We import the addresses of the sale order as Active = False + # so they will be available in the documents generated as the + # sale order or the picking, but they won't be available on + # the partner form or the searches. Too many adresses would + # be displayed. + # They are never synchronized. + addresses_defaults = {'parent_id': partner.id, + 'magento_partner_id': partner_binding.id, + 'email': record.get('customer_email', False), + 'active': False, + 'is_magento_order_address': True} + + addr_mapper = self.component(usage='import.mapper', + model_name='magento.address') + + def create_address(address_record): + map_record = addr_mapper.map_record(address_record) + map_record.update(addresses_defaults) + address_bind = self.env['magento.address'].create( + map_record.values(for_create=True, + parent_partner=partner)) + return address_bind.odoo_id.id + + billing_id = create_address(record['billing_address']) + + shipping_id = None + + if self.collection.version == '1.7': + shipping_address = record['shipping_address'] + else: + # Magento 2.x allows for a different shipping address per line. + # For now, we just take the first + shippings = self.magento_record[ + 'extension_attributes']['shipping_assignments'] + shipping_address = shippings[0]['shipping'].get( + 'address') if shippings else None + if shipping_address: + shipping_id = create_address(shipping_address) + + self.partner_id = partner.id + self.partner_invoice_id = billing_id + self.partner_shipping_id = shipping_id or billing_id + + def _check_special_fields(self): + assert self.partner_id, ( + "self.partner_id should have been defined " + "in SaleOrderImporter._import_addresses") + assert self.partner_invoice_id, ( + "self.partner_id should have been " + "defined in SaleOrderImporter._import_addresses") + assert self.partner_shipping_id, ( + "self.partner_id should have been defined " + "in SaleOrderImporter._import_addresses") + + def _create_data(self, map_record, **kwargs): + storeview = self._get_storeview(map_record.source) + self._check_special_fields() + return super(SaleOrderImporter, self)._create_data( + map_record, + tax_include=storeview.catalog_price_tax_included, + partner_id=self.partner_id, + partner_invoice_id=self.partner_invoice_id, + partner_shipping_id=self.partner_shipping_id, + storeview=storeview, + **kwargs) + + def _update_data(self, map_record, **kwargs): + storeview = self._get_storeview(map_record.source) + self._check_special_fields() + return super(SaleOrderImporter, self)._update_data( + map_record, + tax_include=storeview.catalog_price_tax_included, + partner_id=self.partner_id, + partner_invoice_id=self.partner_invoice_id, + partner_shipping_id=self.partner_shipping_id, + storeview=storeview, + **kwargs) + + def _import_dependencies(self): + record = self.magento_record + + self._import_addresses() + + for line in record.get('items', []): + _logger.debug('line: %s', line) + if 'product_id' in line: + if self.collection.version == '1.7': + key = 'product_id' + else: + key = 'sku' + self._import_dependency(line[key], + 'magento.product.product') + + +class SaleOrderLineImportMapper(Component): + + _name = 'magento.sale.order.line.mapper' + _inherit = 'magento.import.mapper' + _apply_on = 'magento.sale.order.line' + + direct = [('qty_ordered', 'product_uom_qty'), + ('qty_ordered', 'product_qty'), + ('name', 'name'), + ('item_id', 'external_id'), + ] + + @mapping + def discount_amount(self, record): + discount_value = float(record.get('discount_amount') or 0) + if self.options.tax_include: + row_total = float(record.get('row_total_incl_tax') or 0) + else: + row_total = float(record.get('row_total') or 0) + discount = 0 + if discount_value > 0 and row_total > 0: + discount = 100 * discount_value / row_total + result = {'discount': discount} + return result + + @mapping + def product_id(self, record): + binder = self.binder_for('magento.product.product') + if self.collection.version == '1.7': + key = 'product_id' + else: + key = 'sku' + product = binder.to_internal(record[key], unwrap=True) + assert product, ( + "product_id %s should have been imported in " + "SaleOrderImporter._import_dependencies" % record[key]) + return {'product_id': product.id} + + @mapping + def product_options(self, record): + if self.collection.version == '2.0': + # Product options look like this in Magento 2.0, so we'd have to + # fetch the labels separately -> TODO + # 'product_option': { + # 'extension_attributes': { + # 'configurable_item_options': [ + # {'option_id': '152', + # 'option_value': 5593}, + # {'option_id': '93', 'option_value': 5477} + # ] + # } + # } + if record.get('product_option', {}).get( + 'extension_attributes', {}).get( + 'configurable_item_options'): + _logger.debug( + 'Magento order#%s contains a product with configurable ' + 'options but their import is not supported yet for ' + 'Magento2') + return + result = {} + ifield = record['product_options'] + if ifield: + import re + options_label = [] + clean = re.sub(r'\w:\w:|\w:\w+;', '', ifield) + for each in clean.split('{'): + if each.startswith('"label"'): + split_info = each.split(';') + options_label.append('%s: %s [%s]' % (split_info[1], + split_info[3], + record['sku'])) + notes = "".join(options_label).replace('""', '\n').replace('"', '') + result = {'notes': notes} + return result + + @mapping + def price(self, record): + """ In Magento 2, base_row_total_incl_tax may not be present + if no taxes apply """ + result = {} + base_row_total = float(record['base_row_total'] or 0.) + base_row_total_incl_tax = float( + record.get('base_row_total_incl_tax') or base_row_total) + qty_ordered = float(record['qty_ordered']) + if self.options.tax_include: + result['price_unit'] = base_row_total_incl_tax / qty_ordered + else: + result['price_unit'] = base_row_total / qty_ordered + return result diff --git a/connector_magento/models/stock_picking/__init__.py b/connector_magento/models/stock_picking/__init__.py new file mode 100644 index 000000000..973a28555 --- /dev/null +++ b/connector_magento/models/stock_picking/__init__.py @@ -0,0 +1,3 @@ +from . import common +from . import exporter +from . import tracking_exporter diff --git a/connector_magento/models/stock_picking/common.py b/connector_magento/models/stock_picking/common.py new file mode 100644 index 000000000..10f185a4c --- /dev/null +++ b/connector_magento/models/stock_picking/common.py @@ -0,0 +1,174 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging +import xmlrpc.client +from odoo import api, models, fields +from odoo.addons.queue_job.job import job, related_action +from odoo.addons.connector.exception import IDMissingInBackend +from odoo.addons.component.core import Component + +_logger = logging.getLogger(__name__) + + +class MagentoStockPicking(models.Model): + _name = 'magento.stock.picking' + _inherit = 'magento.binding' + _inherits = {'stock.picking': 'odoo_id'} + _description = 'Magento Delivery Order' + + odoo_id = fields.Many2one(comodel_name='stock.picking', + string='Stock Picking', + required=True, + ondelete='cascade') + magento_order_id = fields.Many2one(comodel_name='magento.sale.order', + string='Magento Sale Order', + ondelete='set null') + picking_method = fields.Selection(selection=[('complete', 'Complete'), + ('partial', 'Partial')], + string='Picking Method', + required=True) + + @job(default_channel='root.magento') + @related_action(action='related_action_unwrap_binding') + @api.multi + def export_tracking_number(self): + """ Export the tracking number of a delivery order. """ + self.ensure_one() + with self.backend_id.work_on(self._name) as work: + exporter = work.component(usage='tracking.exporter') + return exporter.run(self) + + @job(default_channel='root.magento') + @related_action(action='related_action_unwrap_binding') + @api.multi + def export_picking_done(self, with_tracking=True): + """ Export a complete or partial delivery order. """ + # with_tracking is True to keep a backward compatibility (jobs that + # are pending and miss this argument will behave the same, but + # it should be called with True only if the carrier_tracking_ref + # is True when the job is created. + self.ensure_one() + with self.backend_id.work_on(self._name) as work: + exporter = work.component(usage='record.exporter') + res = exporter.run(self) + if with_tracking and self.carrier_tracking_ref: + self.with_delay().export_tracking_number() + return res + + +class StockPicking(models.Model): + _inherit = 'stock.picking' + + magento_bind_ids = fields.One2many( + comodel_name='magento.stock.picking', + inverse_name='odoo_id', + string="Magento Bindings", + ) + + +class StockPickingAdapter(Component): + _name = 'magento.stock.picking.adapter' + _inherit = 'magento.adapter' + _apply_on = 'magento.stock.picking' + + _magento_model = 'sales_order_shipment' + _admin_path = 'sales_shipment/view/shipment_id/{id}' + + def _call(self, method, arguments, http_method=None, storeview=None): + try: + return super(StockPickingAdapter, self)._call( + method, arguments, http_method=http_method, + storeview=storeview) + except xmlrpc.client.Fault as err: + # this is the error in the Magento API + # when the shipment does not exist + if err.faultCode == 100: + raise IDMissingInBackend + else: + raise + + def create(self, order_id, items, comment, email, include_comment): + """ Create a record on the external system """ + # pylint: disable=method-required-super + return self._call('%s.create' % self._magento_model, + [order_id, items, comment, email, include_comment]) + + def add_tracking_number(self, *arguments): + """ Add new tracking number. + + In the case of Magento 1.x, arguments is a list consisting of + * external_id: shipment increment id + * carrier_code: code of the carrier on Magento + * tracking_title: title displayed on Magento for the tracking + * tracking_number: tracking number + + In the case of Magento 2.x its only member is a json dict + """ + if self.collection.version == '2.0': + _external_id, json_data = arguments + return self._call( + 'shipment/track', json_data, http_method='post') + return self._call('%s.addTrack' % self._magento_model, + arguments) + + def get_carriers(self, external_id): + """ Get the list of carrier codes allowed for the shipping. + + :param external_id: order increment id + :rtype: list + """ + return self._call('%s.getCarriers' % self._magento_model, + [external_id]) + + +class MagentoBindingStockPickingListener(Component): + _name = 'magento.binding.stock.picking.listener' + _inherit = 'base.event.listener' + _apply_on = ['magento.stock.picking'] + + def on_record_create(self, record, fields=None): + # tracking number is sent when: + # * the picking is exported and the tracking number was already + # there before the picking was done OR + # * the tracking number is added after the picking is done + # We have to keep the initial state of whether we had an + # tracking number in the job kwargs, because if we read the + # picking at the time of execution of the job, a tracking could + # have been added and it would be exported twice. + with_tracking = bool(record.carrier_tracking_ref) + record.with_delay().export_picking_done(with_tracking=with_tracking) + + +class MagentoStockPickingListener(Component): + _name = 'magento.stock.picking.listener' + _inherit = 'base.event.listener' + _apply_on = ['stock.picking'] + + def on_tracking_number_added(self, record): + for binding in record.magento_bind_ids: + # Set the priority to 20 to have more chance that it would be + # executed after the picking creation + binding.with_delay(priority=20).export_tracking_number() + + def on_picking_dropship_done(self, record, picking_method): + return self.on_picking_out_done(record, picking_method) + + def on_picking_out_done(self, record, picking_method): + """ + Create a ``magento.stock.picking`` record. This record will then + be exported to Magento. + + :param picking_method: picking_method, can be 'complete' or 'partial' + :type picking_method: str + """ + sale = record.sale_id + if not sale: + return + for magento_sale in sale.magento_bind_ids: + self.env['magento.stock.picking'].create({ + 'backend_id': magento_sale.backend_id.id, + 'odoo_id': record.id, + 'magento_order_id': magento_sale.id, + 'picking_method': picking_method}) diff --git a/connector_magento/models/stock_picking/exporter.py b/connector_magento/models/stock_picking/exporter.py new file mode 100644 index 000000000..03d430967 --- /dev/null +++ b/connector_magento/models/stock_picking/exporter.py @@ -0,0 +1,117 @@ +# Copyright 2013-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import xmlrpc.client + +import odoo +from odoo import _ +from odoo.addons.component.core import Component +from odoo.addons.queue_job.exception import NothingToDoJob + + +class MagentoPickingExporter(Component): + _name = 'magento.stock.picking.exporter' + _inherit = 'magento.exporter' + _apply_on = ['magento.stock.picking'] + + def _get_args(self, binding, lines_info=None): + if lines_info is None: + lines_info = {} + sale_binder = self.binder_for('magento.sale.order') + magento_sale_id = sale_binder.to_external(binding.magento_order_id) + mail_notification = self._get_picking_mail_option(binding) + return (magento_sale_id, lines_info, + _("Shipping Created"), mail_notification, True) + + def _get_lines_info(self, binding): + """ + Get the line to export to Magento. In case some lines doesn't have a + matching on Magento, we ignore them. This allow to add lines manually. + + :param binding: magento.stock.picking record + :return: dict of {magento_product_id: quantity} + :rtype: dict + """ + item_qty = {} + # get product and quantities to ship from the picking + for line in binding.move_lines: + sale_line = line.sale_line_id + if not sale_line.magento_bind_ids: + continue + magento_sale_line = next( + (line for line in sale_line.magento_bind_ids + if line.backend_id.id == binding.backend_id.id), + None + ) + if not magento_sale_line: + continue + item_id = magento_sale_line.external_id + item_qty.setdefault(item_id, 0) + item_qty[item_id] += line.product_qty + return item_qty + + def _get_picking_mail_option(self, binding): + """ Indicates if Magento has to send an email + + :param binding: magento.stock.picking record + :returns: value of send_picking_done_mail chosen on magento shop + :rtype: boolean + """ + magento_shop = binding.sale_id.magento_bind_ids[0].store_id + return magento_shop.send_picking_done_mail + + def run(self, binding): + """ + Export the picking to Magento + """ + def get_lines_info(): + lines_info = self._get_lines_info(binding) + if not lines_info: + raise NothingToDoJob( + _('Canceled: the delivery order does not ' + 'contain lines from the original sale order.')) + return lines_info + + if binding.external_id: + return _('Already exported') + + if self.collection.version == '1.7': + picking_method = binding.picking_method + if picking_method == 'complete': + args = self._get_args(binding) + elif picking_method == 'partial': + lines_info = get_lines_info() + args = self._get_args(binding, lines_info) + else: + raise ValueError("Wrong value for picking_method, authorized " + "values are 'partial' or 'complete', " + "found: %s" % picking_method) + try: + external_id = self.backend_adapter.create(*args) + except xmlrpc.client.Fault as err: + # When the shipping is already created on Magento, it returns: + # + if err.faultCode == 102: + raise NothingToDoJob( + 'Canceled: the delivery order already ' + 'exists on Magento (fault 102).') + raise + + else: # Magento 2.x + arguments = { + 'items': [{ + 'order_item_id': key, + 'qty': val, + } for key, val in get_lines_info().items()] + } + external_id = self.backend_adapter._call( + 'order/%s/ship' % + binding.sale_id.magento_bind_ids[0].external_id, + arguments, http_method='post') + + self.binder.bind(external_id, binding) + # ensure that we store the external ID + if not odoo.tools.config['test_enable']: + # pylint: disable=invalid-commit + self.env.cr.commit() # noqa diff --git a/connector_magento/models/stock_picking/tracking_exporter.py b/connector_magento/models/stock_picking/tracking_exporter.py new file mode 100644 index 000000000..a11e7721d --- /dev/null +++ b/connector_magento/models/stock_picking/tracking_exporter.py @@ -0,0 +1,101 @@ +# Copyright 2013-2019 Camptocamp SA +# © 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging +from odoo import _ +from odoo.addons.queue_job.exception import FailedJobError +from odoo.addons.component.core import Component + +_logger = logging.getLogger(__name__) + + +class MagentoTrackingExporter(Component): + _name = 'magento.stock.tracking.exporter' + _inherit = 'magento.exporter' + _apply_on = ['magento.stock.picking'] + _usage = 'tracking.exporter' + + def _get_tracking_args(self, picking): + if self.collection.version == '2.0': + return [{ + "entity": { + "order_id": picking.magento_order_id.external_id, + "parent_id": picking.external_id, + "weight": 0, + "qty": 1, + "description": picking.name, + "track_number": picking.carrier_tracking_ref, + "title": picking.carrier_id.magento_tracking_title, + "carrier_code": picking.carrier_id.magento_carrier_code, + } + }] + return (picking.carrier_id.magento_carrier_code, + picking.carrier_id.magento_tracking_title or '', + picking.carrier_tracking_ref) + + def _validate(self, binding): + if binding.state != 'done': # should not happen + raise ValueError("Wrong value for picking state, " + "it must be 'done', found: %s" % binding.state) + if not binding.carrier_id.magento_carrier_code: + raise FailedJobError("Wrong value for the Magento carrier code " + "defined in the picking.") + + def _check_allowed_carrier(self, binding, external_id): + """ Magento2 API does not allow to fetch the list of allowed carriers. + """ + if self.collection.version == '2.0': + return + allowed_carriers = self.backend_adapter.get_carriers(external_id) + carrier = binding.carrier_id + if carrier.magento_carrier_code not in allowed_carriers: + raise FailedJobError("The carrier %(name)s does not accept " + "tracking numbers on Magento.\n\n" + "Tracking codes accepted by Magento:\n" + "%(allowed)s.\n\n" + "Actual tracking code:\n%(code)s\n\n" + "Resolution:\n" + "* Add support of %(code)s in Magento\n" + "* Or deactivate the export of tracking " + "numbers in the setup of the carrier " + "%(name)s." % + {'name': carrier.name, + 'allowed': allowed_carriers, + 'code': carrier.magento_carrier_code}) + + def run(self, binding): + """ Export the tracking number of a picking to Magento """ + # verify the picking is done + magento id exists + carrier = binding.carrier_id + if not carrier: + return FailedJobError('The carrier is missing on the picking %s.' % + binding.name) + + if not carrier.magento_export_tracking: + return _('The carrier %s does not export ' + 'tracking numbers.') % carrier.name + if not binding.carrier_tracking_ref: + return _('No tracking number to send.') + + sale_binding_id = binding.magento_order_id + if not sale_binding_id: + return FailedJobError("No sales order is linked with the picking " + "%s, can't export the tracking number." % + binding.name) + + binder = self.binder_for() + external_id = binder.to_external(binding) + if not external_id: + picking_exporter = self.component(usage='record.exporter') + picking_exporter.run(binding) + external_id = binder.to_external(binding) + if not external_id: + return FailedJobError("The delivery order %s has no Magento ID, " + "can't export the tracking number." % + binding.name) + + self._validate(binding) + self._check_allowed_carrier(binding, sale_binding_id.external_id) + tracking_args = self._get_tracking_args(binding) + self.backend_adapter.add_tracking_number(external_id, *tracking_args) diff --git a/connector_magento/security/ir.model.access.csv b/connector_magento/security/ir.model.access.csv new file mode 100644 index 000000000..7f4146620 --- /dev/null +++ b/connector_magento/security/ir.model.access.csv @@ -0,0 +1,39 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_magento_backend","magento_backend connector manager","model_magento_backend","connector.group_connector_manager",1,1,1,1 +"access_magento_binding","magento_binding connector manager","model_magento_binding","connector.group_connector_manager",1,1,1,1 +"access_magento_website","magento_website connector manager","model_magento_website","connector.group_connector_manager",1,1,1,1 +"access_magento_store","magento_store connector manager","model_magento_store","connector.group_connector_manager",1,1,1,1 +"access_magento_storeview","magento_storeview connector manager","model_magento_storeview","connector.group_connector_manager",1,1,1,1 +"access_magento_product_category","magento_product_category connector manager","model_magento_product_category","connector.group_connector_manager",1,1,1,1 +"access_magento_product_product","magento_product_product connector manager","model_magento_product_product","connector.group_connector_manager",1,1,1,1 +"access_magento_res_partner","magento_res_partner connector manager","model_magento_res_partner","connector.group_connector_manager",1,1,1,1 +"access_magento_address","magento_address connector manager","model_magento_address","connector.group_connector_manager",1,1,1,1 +"access_magento_res_partner_category","magento_res_partner_category connector manager","model_magento_res_partner_category","connector.group_connector_manager",1,1,1,1 +"access_magento_account_invoice","magento_account_invoice connector manager","model_magento_account_invoice","connector.group_connector_manager",1,1,1,1 +"access_magento_sale_order","magento_sale_order connector manager","model_magento_sale_order","connector.group_connector_manager",1,1,1,1 +"access_magento_sale_order_line","magento_sale_order_line connector manager","model_magento_sale_order_line","connector.group_connector_manager",1,1,1,1 +"access_magento_stock_picking_out","magento_stock_picking connector manager","model_magento_stock_picking","connector.group_connector_manager",1,1,1,1 +"access_magento_backend_user","magento_backend user","model_magento_backend","sales_team.group_sale_salesman",1,0,0,0 +"access_magento_backend_sale_manager","magento_backend manager","model_magento_backend","sales_team.group_sale_manager",1,0,0,0 +"access_magento_product_product_user","magento_product_product user","model_magento_product_product","sales_team.group_sale_salesman",1,0,0,0 +"access_magento_product_product_sale_manager","magento_product_product sale manager","model_magento_product_product","sales_team.group_sale_manager",1,1,1,1 +"access_magento_store_user","magento_store user","model_magento_store","sales_team.group_sale_salesman",1,0,0,0 +"access_magento_store_sale_manager","magento_store sale manager","model_magento_store","sales_team.group_sale_manager",1,0,0,0 +"access_magento_storeview_user","magento_storeview user","model_magento_storeview","sales_team.group_sale_salesman",1,0,0,0 +"access_magento_storeview_sale_manager","magento_storeview sale manager","model_magento_storeview","sales_team.group_sale_manager",1,0,0,0 +"access_magento_website_user","magento_website user","model_magento_website","sales_team.group_sale_salesman",1,0,0,0 +"access_magento_website_sale_manager","magento_website sale manager","model_magento_website","sales_team.group_sale_manager",1,0,0,0 +"access_magento_sale_order_sale_salesman","magento_sale_order","model_magento_sale_order","sales_team.group_sale_salesman",1,1,1,1 +"access_magento_sale_order_sale_manager","magento_sale_order","model_magento_sale_order","sales_team.group_sale_manager",1,1,1,1 +"access_magento_sale_order_line_sale_salesman","magento_sale_order_line","model_magento_sale_order_line","sales_team.group_sale_salesman",1,1,1,1 +"access_magento_sale_order_line_sale_manager","magento_sale_order_line","model_magento_sale_order_line","sales_team.group_sale_manager",1,1,1,1 +"access_magento_invoice_user","magento_account.invoice","model_magento_account_invoice","account.group_account_invoice",1,1,1,1 +"access_product_category_sale_manager","magento_product.category salemanager","model_magento_product_category","sales_team.group_sale_manager",1,1,1,1 +"access_product_category_user","magento_product.category.user","model_magento_product_category","base.group_user",1,0,0,0 +"access_res_partner_group_user","magento_res_partner group_user","model_magento_res_partner","base.group_user",1,0,0,0 +"access_res_partner_category_group_user","magento_res_partner_category group_user","model_magento_res_partner_category","base.group_user",1,0,0,0 +"access_address_group_user","magento_address_group_user","model_magento_address","base.group_user",1,0,0,0 +"access_stock_picking_out_user","magento_stock.picking user","model_magento_stock_picking","stock.group_stock_user",1,1,1,1 +"access_stock_picking_out_manager","magento_stock.picking manager","model_magento_stock_picking","stock.group_stock_manager",1,1,1,1 +"access_magento_sale_order_stock_user","magento_sale_order warehouse user","model_magento_sale_order","stock.group_stock_user",1,1,0,0 +"access_magento_sale_order_line_stock_user","magento_sale_order_line warehouse user","model_magento_sale_order_line","stock.group_stock_user",1,1,0,0 diff --git a/connector_magento/static/description/icon.png b/connector_magento/static/description/icon.png new file mode 100644 index 000000000..80fb1c9ac Binary files /dev/null and b/connector_magento/static/description/icon.png differ diff --git a/connector_magento/tests/__init__.py b/connector_magento/tests/__init__.py new file mode 100644 index 000000000..951b88a2e --- /dev/null +++ b/connector_magento/tests/__init__.py @@ -0,0 +1,13 @@ +from . import test_concurrent_sync +from . import test_export_invoice +from . import test_export_picking +from . import test_export_product_stock +from . import test_import_metadata +from . import test_import_partner +from . import test_import_partner_category +from . import test_import_product +from . import test_import_product_category +from . import test_import_product_image +from . import test_related_action +from . import test_sale_order +from .magento2 import * # noqa diff --git a/connector_magento/tests/common.py b/connector_magento/tests/common.py new file mode 100644 index 000000000..7c4791627 --- /dev/null +++ b/connector_magento/tests/common.py @@ -0,0 +1,275 @@ +# Copyright 2013-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +# pylint: disable=missing-manifest-dependency +# disable warning on 'vcr' missing in manifest: this is only a dependency for +# dev/tests + +""" +Helpers usable in the tests +""" + +import xmlrpc.client +import logging +import urllib + +import mock +import odoo + +from os.path import dirname, join +from contextlib import contextmanager +from odoo import models +from odoo.addons.component.tests.common import SavepointComponentCase + +from vcr import VCR + +logging.getLogger("vcr").setLevel(logging.WARNING) + +recorder = VCR( + record_mode='once', + cassette_library_dir=join(dirname(__file__), 'fixtures/cassettes'), + path_transformer=VCR.ensure_suffix('.yaml'), + filter_headers=['Authorization'], +) + + +class MockResponseImage(object): + + def __init__(self, resp_data, code=200, msg='OK'): + self.resp_data = resp_data + self.content = resp_data + self.status_code = code + self.msg = msg + self.headers = {'content-type': 'image/jpeg'} + + def raise_for_status(self): + if self.status_code != 200: + raise urllib.error.HTTPError( + '', self.status_code, str(self.status_code), None, None) + + def read(self): + # pylint: disable=method-required-super + return self.resp_data + + def getcode(self): + return self.code + + +@contextmanager +def mock_urlopen_image(): + with mock.patch('requests.get') as requests_get: + requests_get.return_value = MockResponseImage('') + yield + + +class MagentoHelper(object): + + def __init__(self, cr, registry, model_name): + self.cr = cr + self.model = registry(model_name) + + def get_next_id(self): + self.cr.execute("SELECT max(external_id::int) FROM %s " % + self.model._table) + result = self.cr.fetchone() + if result: + return int(result[0] or 0) + 1 + else: + return 1 + + +class MagentoTestCase(SavepointComponentCase): + """ Base class - Test the imports from a Magento Mock. + + The data returned by Magento are those created for the + demo version of Magento on a standard 1.9 version. + """ + + def setUp(self): + super(MagentoTestCase, self).setUp() + self.recorder = recorder + # disable commits when run from pytest/nosetest + odoo.tools.config['test_enable'] = True + + self.backend_model = self.env['magento.backend'] + warehouse = self.env.ref('stock.warehouse0') + self.backend = self.backend_model.create( + {'name': 'Test Magento', + 'version': '1.7', + 'location': 'http://magento', + 'username': 'odoo', + 'warehouse_id': warehouse.id, + 'password': 'odoo42'} + ) + # payment method needed to import a sale order + self.workflow = self.env.ref( + 'sale_automatic_workflow.manual_validation') + self.journal = self.env['account.journal'].create( + {'name': 'Check', 'type': 'cash', 'code': 'Check'} + ) + payment_method = self.env.ref( + 'account.account_payment_method_manual_in' + ) + for name in ['checkmo', 'ccsave', 'cashondelivery']: + self.env['account.payment.mode'].create( + {'name': name, + 'workflow_process_id': self.workflow.id, + 'import_rule': 'always', + 'days_before_cancel': 0, + 'bank_account_link': 'fixed', + 'payment_method_id': payment_method.id, + 'fixed_journal_id': self.journal.id}) + + def get_magento_helper(self, model_name): + return MagentoHelper(self.cr, self.registry, model_name) + + def create_binding_no_export(self, model_name, odoo_id, external_id=None, + **cols): + if isinstance(odoo_id, models.BaseModel): + odoo_id = odoo_id.id + values = { + 'backend_id': self.backend.id, + 'odoo_id': odoo_id, + 'external_id': external_id, + } + if cols: + values.update(cols) + return self.env[model_name].with_context( + connector_no_export=True + ).create(values) + + @contextmanager + def mock_with_delay(self): + with mock.patch('odoo.addons.queue_job.models.base.DelayableRecordset', + name='DelayableRecordset', spec=True + ) as delayable_cls: + # prepare the mocks + delayable = mock.MagicMock(name='DelayableBinding') + delayable_cls.return_value = delayable + yield delayable_cls, delayable + + def parse_cassette_request(self, body): + args, __ = xmlrpc.client.loads(body) + # the first argument is a hash, we don't mind + return args[1:] + + def _import_record(self, model_name, magento_id, cassette=True): + assert model_name.startswith('magento.') + table_name = model_name.replace('.', '_') + # strip 'magento_' from the model_name to shorted the filename + filename = 'import_%s_%s' % (table_name[8:], str(magento_id)) + + def run_import(): + if self.backend.version != '1.7': + return self.env[model_name].import_record( + self.backend, magento_id) + with mock_urlopen_image(): + self.env[model_name].import_record(self.backend, magento_id) + + if cassette: + with self.recorder.use_cassette(filename): + run_import() + else: + run_import() + + binding = self.env[model_name].search( + [('backend_id', '=', self.backend.id), + ('external_id', '=', str(magento_id))] + ) + self.assertEqual(len(binding), 1) + return binding + + def assert_records(self, expected_records, records): + """ Assert that a recordset matches with expected values. + + The expected records are a list of nametuple, the fields of the + namedtuple must have the same name than the recordset's fields. + + The expected values are compared to the recordset and records that + differ from the expected ones are show as ``-`` (missing) or ``+`` + (extra) lines. + + Example:: + + ExpectedShop = namedtuple('ExpectedShop', + 'name company_id') + expected = [ + ExpectedShop( + name='MyShop1', + company_id=self.company_ch + ), + ExpectedShop( + name='MyShop2', + company_id=self.company_ch + ), + ] + self.assert_records(expected, shops) + + Possible output: + + - foo.shop(name: MyShop1, company_id: res.company(2,)) + - foo.shop(name: MyShop2, company_id: res.company(1,)) + + foo.shop(name: MyShop3, company_id: res.company(1,)) + + :param expected_records: list of namedtuple with matching values + for the records + :param records: the recordset to check + :raises: AssertionError if the values do not match + """ + model_name = records._name + records = list(records) + assert len(expected_records) > 0, "must have > 0 expected record" + fields = expected_records[0]._fields + not_found = [] + equals = [] + for expected in expected_records: + for record in records: + for field, value in list(expected._asdict().items()): + if not getattr(record, field) == value: + break + else: + records.remove(record) + equals.append(record) + break + else: + not_found.append(expected) + message = [] + for record in equals: + # same records + message.append( + ' ✓ {}({})'.format( + model_name, + ', '.join('%s: %s' % (field, getattr(record, field)) for + field in fields) + ) + ) + for expected in not_found: + # missing records + message.append( + ' - {}({})'.format( + model_name, + ', '.join('%s: %s' % (k, v) for + k, v in list(expected._asdict().items())) + ) + ) + for record in records: + # extra records + message.append( + ' + {}({})'.format( + model_name, + ', '.join('%s: %s' % (field, getattr(record, field)) for + field in fields) + ) + ) + if not_found or records: + raise AssertionError('Records do not match:\n\n{}'.format( + '\n'.join(message) + )) + + +class MagentoSyncTestCase(MagentoTestCase): + + def setUp(self): + super(MagentoSyncTestCase, self).setUp() + with recorder.use_cassette('metadata'): + self.backend.synchronize_metadata() diff --git a/connector_magento/tests/fixtures/cassettes/import_product_product_879.yaml b/connector_magento/tests/fixtures/cassettes/import_product_product_879.yaml new file mode 100644 index 000000000..c54013dfe --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/import_product_product_879.yaml @@ -0,0 +1,224 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + d8551e2d54e33dfeb3b496cd162fde82'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:27:02 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=s4tjrmk2l9u9ofp1muildkf3s2; expires=Fri, 30-Jun-2017 + 15:27:02 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + d8551e2d54e33dfeb3b496cd162fde82 + + + + + + ol_catalog_product.info + + + + + + + + 879 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id879skuwbk000c-Pink-Lset13typesimplecategorieswebsites1type_idsimplenameNoLIta + Cami-Pink-LdescriptionSilk + cami. Tie front detail, with hook and eye. Ruched neckline. Loose through + the chest and bodice. 100% Silk. Dry clean.short_descriptionCut + from tissue-weight silk crepe de chine, this airy style features a ruched + neckline with tie and an unfinished hem for a contrastinly rugged feel. Compliment + yours with skinny jeans.weight1.0000news_from_dateold_idnews_to_datestatus1url_keynolita-cami-pink-lvisibility1country_of_manufactureurl_pathnolita-cami-pink-l.htmlcategory_idsrequired_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-05-08T21:18:12+02:00updated_at2014-03-07 + 15:37:34price150.0000group_pricespecial_priceminimal_pricespecial_from_date2013-03-20 + 00:00:00special_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecolor21occasion29apparel_type34sleeve_length45fitsize78lengthgender94'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:27:02 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=dgcjfld71mih3lecqj26k93hc5; expires=Fri, 30-Jun-2017 + 15:27:02 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + d8551e2d54e33dfeb3b496cd162fde82 + + + + + + product_media.list + + + + + + + + 879 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/w/b/wbk000t_6.jpglabelposition1exclude0urlhttp://magento/media/catalog/product/w/b/wbk000t_6.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:27:02 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=fgl9j3d9u0iu39c2ecdnr43eo0; expires=Fri, 30-Jun-2017 + 15:27:02 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + d8551e2d54e33dfeb3b496cd162fde82 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:27:02 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=6rmksn21s3lun39ftp5kcgg464; expires=Fri, 30-Jun-2017 + 15:27:02 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/import_sale_order_100000200-1.yaml b/connector_magento/tests/fixtures/cassettes/import_sale_order_100000200-1.yaml new file mode 100644 index 000000000..00886091b --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/import_sale_order_100000200-1.yaml @@ -0,0 +1,1053 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 55a11bee5952f41348d2c24023066e4b'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:09 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=8j3i48or32d4briog03u6p6qg0; expires=Mon, 10-Jul-2017 + 14:01:09 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + sales_order.info + + + + + + + + 100000200-1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['352'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statenewstatuspendingcoupon_codeprotect_codeb4ee57shipping_descriptionUnited + Parcel Service - Groundis_virtual0store_id1customer_id135base_discount_amount0.0000base_discount_canceledbase_discount_invoicedbase_discount_refundedbase_grand_total910.1500base_shipping_amount0.0000base_shipping_canceledbase_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal835.0000base_subtotal_canceledbase_subtotal_invoicedbase_subtotal_refundedbase_tax_amount75.1500base_tax_canceledbase_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceledbase_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount0.0000discount_canceleddiscount_invoiceddiscount_refundedgrand_total910.1500shipping_amount0.0000shipping_canceledshipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal835.0000subtotal_canceledsubtotal_invoicedsubtotal_refundedtax_amount75.1500tax_canceledtax_invoicedtax_refundedtotal_canceledtotal_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered2.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest0customer_note_notify0billing_address_id382customer_group_id1edit_increment1email_sentforced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id680shipping_address_id383adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax910.1500base_total_duepayment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax910.1500total_dueweight2.0000customer_dobincrement_id100000200-1applied_rule_ids29base_currency_codeEURcustomer_emailjohndoe@magento.comcustomer_firstnameJohncustomer_lastnameDoecustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeEURhold_before_statehold_before_statusorder_currency_codeEURoriginal_increment_id100000200relation_child_idrelation_child_real_idrelation_parent_id180relation_parent_real_id100000200remote_ipshipping_methodups_GNDstore_currency_codeEURstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2017-06-30 + 12:35:40updated_at2017-06-30 + 12:35:40total_item_count2customer_gender1hidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax0.0000base_shipping_incl_tax0.0000coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amountcustomer_balance_amountbase_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsbase_gift_cards_amountgift_cards_amountbase_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receiptgw_add_cardgw_base_pricegw_pricegw_items_base_pricegw_items_pricegw_card_base_pricegw_card_pricegw_base_tax_amountgw_tax_amountgw_items_base_tax_amountgw_items_tax_amountgw_card_base_tax_amountgw_card_tax_amountgw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balancebase_reward_currency_amountreward_currency_amountbase_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id195shipping_addressparent_id195customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@example.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id383billing_addressparent_id195customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@example.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id382itemsitem_id596order_id195parent_item_idquote_item_id2473store_id1created_at2017-06-30 + 12:35:40updated_at2017-06-30 + 12:35:40product_id393product_typesimpleproduct_optionsa:1:{s:15:"info_buyRequest";a:5:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"393";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";d:1;s:7:"options";a:0:{}}}weight1.0000is_virtual0skuhde003nameMadison + RX3400descriptionapplied_rule_ids29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice715.0000base_price715.0000original_price715.0000base_original_price715.0000tax_percent9.0000tax_amount64.3500base_tax_amount64.3500tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total715.0000base_row_total715.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax779.3500base_price_incl_tax779.3500row_total_incl_tax779.3500base_row_total_incl_tax779.3500hidden_tax_amount0.0000base_hidden_tax_amount0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000item_id597order_id195parent_item_idquote_item_id2474store_id1created_at2017-06-30 + 12:35:40updated_at2017-06-30 + 12:35:40product_id396product_typesimpleproduct_optionsa:1:{s:15:"info_buyRequest";a:5:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"396";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";d:1;s:7:"options";a:0:{}}}weight1.0000is_virtual0skuhde006nameLarge + Camera Bagdescriptionapplied_rule_ids29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice120.0000base_price120.0000original_price120.0000base_original_price120.0000tax_percent9.0000tax_amount10.8000base_tax_amount10.8000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total120.0000base_row_total120.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax130.8000base_price_incl_tax130.8000row_total_incl_tax130.8000base_row_total_incl_tax130.8000hidden_tax_amount0.0000base_hidden_tax_amount0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id195base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount0.0000shipping_amount0.0000amount_paidamount_authorizedbase_amount_ordered910.1500base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered910.1500base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcashondeliverycc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id195status_historyparent_id195is_customer_notified0is_visible_on_front0commentstatuspendingcreated_at2017-06-30 + 12:35:40entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:09 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=q796pvraen4dvonubsqe1idue3; expires=Mon, 10-Jul-2017 + 14:01:09 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + customer.info + + + + + + + + 135 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id135created_at2013-05-16T06:16:11+02:00updated_at2017-06-30 + 15:28:26increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing91default_shipping91disable_auto_group_change0dobemailjohndoe@example.comfirstnameJohngender1group_id1lastnameDoemiddlenamepassword_hash60d0b6777081273c90d9dcf6342b18d511d539f5f119b56a364b2b0ff6dd29f1:O9hr8Lafe1STOCnJkp2ZHjFMrfM9plGnprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:09 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=pgfq52nle1d03rh4d4m9itln22; expires=Mon, 10-Jul-2017 + 14:01:09 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + ol_customer_groups.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id1customer_group_codeGeneraltax_class_id3'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:09 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=m9hg3na83cjacdiqqca33ak1p3; expires=Mon, 10-Jul-2017 + 14:01:09 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 135 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['496'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id91created_at2013-05-16 + 00:16:11updated_at2017-06-30 + 15:28:26cityCulver + Citycountry_idUSfirstnameJohnlastnameDoepostcode90232regionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200telephone888-888-8888is_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:09 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=cl52e3uj0g5foq9gblnltgq8a4; expires=Mon, 10-Jul-2017 + 14:01:09 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + customer_address.info + + + + + + + + 91 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id91created_at2013-05-16T02:16:11+02:00updated_at2017-06-30 + 15:28:26increment_idcityCulver + Citycompanycountry_idUSfaxfirstnameJohnlastnameDoemiddlenamepostcode90232prefixregionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200suffixtelephone888-888-8888vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:09 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=vnv5be6c357nimibep12g7mvd1; expires=Mon, 10-Jul-2017 + 14:01:09 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + ol_catalog_product.info + + + + + + + + 393 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id393skuhde003set14typesimplecategories924websites1type_idsimplenameMadison + RX3400description18-55mm + zoom lens. 3.0" LCD display with image editing features. Built in flash + with flash modes and pop up. SD/SDXC slot. Full 1080p HD video. Rechargable + Lithium-Ion battery. File formats: NEF (RAW), JPEG, MOV. 5" x 3" + x 4", 15oz.short_descriptionFor + budding photo connoisseurs.weight1.0000news_from_dateold_idnews_to_datestatus1url_keymadison-rx3400visibility4country_of_manufactureurl_pathmadison-rx3400.htmlcategory_ids924required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:20+01:00updated_at2013-05-30 + 00:02:17price715.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled1msrp_display_actual_price_type2msrp815.0000tax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecamera_type172color20camera_megapixels180electronic_type218'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:10 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=4b8mci1f9osm6qf5bbfgjk3lu2; expires=Mon, 10-Jul-2017 + 14:01:10 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + catalog_category.info + + + + + + + + 9 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id9is_active1position7level2parent_id2increment_idcreated_at2013-01-25T11:50:47+01:00updated_at2013-05-10 + 17:17:59nameVIPurl_keyvipthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/9all_children9path_in_storechildrenurl_pathvip.htmlchildren_count0display_modePRODUCTS_AND_PAGElanding_page31is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:10 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=n0g1rh6megor88n2ncci4c2g10; expires=Mon, 10-Jul-2017 + 14:01:10 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:10 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=9hr2bqnsedc7jvvvim8t5hmbu5; expires=Mon, 10-Jul-2017 + 14:01:10 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:10 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=aa2ahcnejga7l30oscjo05qac0; expires=Mon, 10-Jul-2017 + 14:01:10 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + catalog_category.info + + + + + + + + 24 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id24is_active1position3level3parent_id7increment_idcreated_at2013-01-25T12:08:54+01:00updated_at2013-03-08 + 19:27:16nameElectronicsurl_keyelectronicsthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7/24all_children24path_in_storechildrenurl_pathhome-decor/electronics.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:11 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=f81fdne5tmlf3b1h994h2i75k2; expires=Mon, 10-Jul-2017 + 14:01:11 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + catalog_category.info + + + + + + + + 7 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id7is_active1position5level2parent_id2increment_idcreated_at2013-01-25T11:49:05+01:00updated_at2013-05-08 + 05:26:34nameHome + & Decorurl_keyhome-decorthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7all_children7,22,23,24,25path_in_storechildren22,23,24,25url_pathhome-decor.htmlchildren_count4display_modePAGElanding_page21is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:11 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ru3eifjvadlsu55rgoe5t807l2; expires=Mon, 10-Jul-2017 + 14:01:11 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + product_media.list + + + + + + + + 393 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hde003a_2.jpglabelposition2exclude0urlhttp://magento/media/catalog/product/h/d/hde003a_2.jpgtypesimagesmall_imagethumbnailfile/h/d/hde003b_.jpglabelposition4exclude0urlhttp://magento/media/catalog/product/h/d/hde003b_.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:12 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tt2gf2a8p3lusk1vjmlb9pv702; expires=Mon, 10-Jul-2017 + 14:01:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + ol_catalog_product.info + + + + + + + + 396 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id396skuhde006set14typesimplecategories24websites1type_idsimplenameLarge + Camera BagdescriptionFlap + closure. Microfiber. 8.5" x 5" x 6". Domestic.short_descriptionKeep + your camera safe and secure in our Large Camera case.weight1.0000news_from_dateold_idnews_to_datestatus1url_keylarge-camera-bagvisibility4country_of_manufactureurl_pathlarge-camera-bag.htmlcategory_ids24required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:20+01:00updated_at2013-05-16 + 20:15:59price120.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecamera_typecolor17camera_megapixelselectronic_type219'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:12 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=r6tvhl8d9h4mkflnciu3eb9cj3; expires=Mon, 10-Jul-2017 + 14:01:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + product_media.list + + + + + + + + 396 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hde006t.jpglabelposition4exclude0urlhttp://magento/media/catalog/product/h/d/hde006t.jpgtypesimagesmall_imagethumbnailfile/h/d/hde006b_1.jpglabelposition5exclude0urlhttp://magento/media/catalog/product/h/d/hde006b_1.jpgtypesfile/h/d/hde006c.jpglabelposition6exclude0urlhttp://magento/media/catalog/product/h/d/hde006c.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:12 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=gi17vvgr59vrp6ld55g3dgdve0; expires=Mon, 10-Jul-2017 + 14:01:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + sales_order.get_parent + + + + + + + + 100000200 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['356'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 0'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:13 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=t9st6cio1318rn7ao7d8e2m6u7; expires=Mon, 10-Jul-2017 + 14:01:13 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 55a11bee5952f41348d2c24023066e4b + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:01:13 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=m4codm692cmuuthidhmkkiej65; expires=Mon, 10-Jul-2017 + 14:01:13 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/import_sale_order_100000201-no-website.yaml b/connector_magento/tests/fixtures/cassettes/import_sale_order_100000201-no-website.yaml new file mode 100644 index 000000000..b83b274ff --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/import_sale_order_100000201-no-website.yaml @@ -0,0 +1,948 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 7bd8047fd69712b39406280c699cf678'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:04 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=gam9d4rulhoivfbnegkfc85n31; expires=Fri, 30-Jun-2017 + 13:41:04 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + sales_order.info + + + + + + + + 100000201 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['344'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statenewstatuspendingcoupon_codeprotect_code13520dshipping_descriptionUnited + Parcel Service - Groundis_virtual0store_id1customer_id136base_discount_amount0.0000base_discount_canceledbase_discount_invoicedbase_discount_refundedbase_grand_total387.2700base_shipping_amount12.3100base_shipping_canceledbase_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal344.0000base_subtotal_canceledbase_subtotal_invoicedbase_subtotal_refundedbase_tax_amount30.9600base_tax_canceledbase_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceledbase_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount0.0000discount_canceleddiscount_invoiceddiscount_refundedgrand_total387.2700shipping_amount12.3100shipping_canceledshipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal344.0000subtotal_canceledsubtotal_invoicedsubtotal_refundedtax_amount30.9600tax_canceledtax_invoicedtax_refundedtotal_canceledtotal_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered3.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest0customer_note_notify1billing_address_id355customer_group_id1edit_incrementemail_sent1forced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id619shipping_address_id356adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax374.9600base_total_duepayment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax374.9600total_dueweight3.0000customer_dobincrement_id100000201applied_rule_idsbase_currency_codeUSDcustomer_emailjanedoe@magento.comcustomer_firstnameJanecustomer_lastnameDoecustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeUSDhold_before_statehold_before_statusorder_currency_codeUSDoriginal_increment_idrelation_child_idrelation_child_real_idrelation_parent_idrelation_parent_real_idremote_ip198.228.200.167shipping_methodups_GNDstore_currency_codeUSDstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2013-05-25 + 21:37:05updated_at2013-05-25 + 21:37:06total_item_count2customer_genderhidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax12.3100base_shipping_incl_tax12.3100coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amount0.0000customer_balance_amount0.0000base_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsa:0:{}base_gift_cards_amount0.0000gift_cards_amount0.0000base_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receipt0gw_add_card0gw_base_price0.0000gw_price0.0000gw_items_base_price0.0000gw_items_price0.0000gw_card_base_price0.0000gw_card_price0.0000gw_base_tax_amount0.0000gw_tax_amount0.0000gw_items_base_tax_amount0.0000gw_items_tax_amount0.0000gw_card_base_tax_amount0.0000gw_card_tax_amount0.0000gw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balance0base_reward_currency_amount0.0000reward_currency_amount0.0000base_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id181shipping_addressparent_id181customer_address_id92quote_address_idregion_id12customer_id136faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjanedoe@magento.comtelephone888-888-8888country_idUSfirstnameJaneaddress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id356billing_addressparent_id181customer_address_id92quote_address_idregion_id12customer_id136faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjanedoe@magento.comtelephone888-888-8888country_idUSfirstnameJaneaddress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id355itemsitem_id543order_id181parent_item_idquote_item_id2320store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id418product_typeconfigurableproduct_optionsa:10:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MTgvY2F0ZWdvcnkvMTEv";s:7:"product";s:3:"418";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"26";i:180;s:2:"81";}s:3:"qty";s:1:"2";s:10:"return_url";s:0:"";}s:15:"attributes_info";a:2:{i:0;a:2:{s:5:"label";s:5:"Color";s:5:"value";s:6:"Indigo";}i:1;a:2:{s:5:"label";s:4:"Size";s:5:"value";s:2:"XS";}}s:11:"simple_name";s:9:"Tori + Tank";s:10:"simple_sku";s:8:"wbk003xs";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwbk003xsnameTori + Tankdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered2.0000qty_refunded0.0000qty_shipped0.0000base_costprice60.0000base_price60.0000original_price60.0000base_original_price60.0000tax_percent9.0000tax_amount10.8000base_tax_amount10.8000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total120.0000base_row_total120.0000row_invoiced0.0000base_row_invoiced0.0000row_weight2.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax65.4000base_price_incl_tax65.4000row_total_incl_tax130.8000base_row_total_incl_tax130.8000hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000has_children1item_id544order_id181parent_item_id543quote_item_id2321store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id512product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MTgvY2F0ZWdvcnkvMTEv";s:7:"product";s:3:"418";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"26";i:180;s:2:"81";}s:3:"qty";s:1:"2";s:10:"return_url";s:0:"";}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwbk003xsnameTori + Tankdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered2.0000qty_refunded0.0000qty_shipped0.0000base_costprice0.0000base_price0.0000original_price0.0000base_original_pricetax_percent0.0000tax_amount0.0000base_tax_amount0.0000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total0.0000base_row_total0.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_taxbase_price_incl_taxrow_total_incl_taxbase_row_total_incl_taxhidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amntbase_weee_tax_applied_row_amountweee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000item_id545order_id181parent_item_idquote_item_id2322store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id423product_typeconfigurableproduct_optionsa:10:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MjMvY2F0ZWdvcnkvMTMv";s:7:"product";s:3:"423";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"18";i:180;s:2:"80";}s:3:"qty";s:1:"1";s:10:"return_url";s:0:"";}s:15:"attributes_info";a:2:{i:0;a:2:{s:5:"label";s:5:"Color";s:5:"value";s:6:"Purple";}i:1;a:2:{s:5:"label";s:4:"Size";s:5:"value";s:1:"S";}}s:11:"simple_name";s:21:"Racer + Back Maxi Dress";s:10:"simple_sku";s:6:"wsd005";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwsd005nameRacer + Back Maxi Dressdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice224.0000base_price224.0000original_price224.0000base_original_price224.0000tax_percent9.0000tax_amount20.1600base_tax_amount20.1600tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total224.0000base_row_total224.0000row_invoiced0.0000base_row_invoiced0.0000row_weight1.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax244.1600base_price_incl_tax244.1600row_total_incl_tax244.1600base_row_total_incl_tax244.1600hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000has_children1item_id546order_id181parent_item_id545quote_item_id2323store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id302product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MjMvY2F0ZWdvcnkvMTMv";s:7:"product";s:3:"423";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"18";i:180;s:2:"80";}s:3:"qty";s:1:"1";s:10:"return_url";s:0:"";}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwsd005nameRacer + Back Maxi Dressdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice0.0000base_price0.0000original_price0.0000base_original_pricetax_percent0.0000tax_amount0.0000base_tax_amount0.0000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total0.0000base_row_total0.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_taxbase_price_incl_taxrow_total_incl_taxbase_row_total_incl_taxhidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amntbase_weee_tax_applied_row_amountweee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id181base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount12.3100shipping_amount12.3100amount_paidamount_authorizedbase_amount_ordered387.2700base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered387.2700base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcheckmocc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id181status_historyparent_id181is_customer_notified1is_visible_on_front0commentstatuspendingcreated_at2013-05-25 + 21:37:06entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=pfkosqhm3bhjh4dvo8km9tti30; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + customer.info + + + + + + + + 136 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id136created_at2013-05-16T06:20:45+02:00updated_at2014-05-03 + 21:36:47increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing92default_shipping92disable_auto_group_change0dobemailjanedoe@example.comfirstnameJanegendergroup_id1lastnameDoemiddlenamepassword_hash80f8bdf79491b99b8180a4e746046ea5:8huK4jwUrBIwUTnw3LuWKT9MzAQghb5zprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=fs03npe5gss1h7jbcf0fkce344; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + ol_customer_groups.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id1customer_group_codeGeneraltax_class_id3'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=81pbd4lbrcbvvbt8h52qc5g5d3; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 136 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['496'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id92created_at2013-05-17 + 01:20:45updated_at2014-05-03 + 21:36:47cityCulver + Citycountry_idUSfirstnameJanelastnameDoepostcode90232regionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200telephone888-888-8888is_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=g8635t1jlq7mn7j46rmr78ehk7; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + customer_address.info + + + + + + + + 92 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id92created_at2013-05-17T03:20:45+02:00updated_at2014-05-03 + 21:36:47increment_idcityCulver + Citycompanycountry_idUSfaxfirstnameJanelastnameDoemiddlenamepostcode90232prefixregionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200suffixtelephone888-888-8888vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=jbu63g98dnm2222ef3ssm04fr0; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + ol_catalog_product.info + + + + + + + + 512 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id512skuwbk003xsset13typesimplecategorieswebsites1type_idsimplenameTori + TankdescriptionRibbed + scoop neck tank. 100% cotton.Machine wash.short_descriptionA + simple ribbed cotton tank. Great for layering.weight1.0000news_from_date2013-03-01 + 00:00:00old_idnews_to_datestatus1url_keytori-tankvisibility1country_of_manufactureurl_pathtori-tank-577.htmlcategory_idsrequired_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-12T03:32:00+01:00updated_at2014-03-08 + 08:06:21price60.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecolor26occasion31apparel_type35sleeve_length45fitsize81lengthgender94'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:06 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=hchb1pmf0739fl7rkt5fdkpdd6; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + product_media.list + + + + + + + + 512 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/w/b/wbk003t_4.jpglabelposition1exclude0urlhttp://magento/media/catalog/product/w/b/wbk003t_4.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:06 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ng8pj5rng9epo1881nd4ul8ja1; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + ol_catalog_product.info + + + + + + + + 302 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id302skuwsd005set13typesimplecategories13websites1type_idsimplenameRacer + Back Maxi DressdescriptionRacer + back maxi dress. Pull over style. Loose fitting. Straight skirt falls to floor. + Viscose. short_descriptionThis + classic maxi dress drapes beautifully throughout body and sweeps in a light + A-line to the floor. Keep a casual chic look by pairing with a jean jacket + or go glam with a statement necklace.weight1.0000news_from_date2013-03-01 + 00:00:00old_idnews_to_datestatus1url_keyracer-back-maxi-dressvisibility1country_of_manufactureurl_pathracer-back-maxi-dress.htmlcategory_ids13required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:15+01:00updated_at2013-05-10 + 21:22:33price280.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecolor18occasion31apparel_type33sleeve_length45fitsize80length84gender94'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:06 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ndbatqgkviasnujcc7hm7aa2o5; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + catalog_category.info + + + + + + + + 13 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id13is_active1position4level3parent_id4increment_idcreated_at2013-01-25T11:59:21+01:00updated_at2013-03-05 + 04:45:24nameDresses + & Skirtsurl_keydresses-skirtsthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/4/13all_children13path_in_storechildrenurl_pathwomen/dresses-skirts.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:06 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=coqjs3ilconc0t0om520iblqj0; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + catalog_category.info + + + + + + + + 4 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id4is_active1position2level2parent_id2increment_idcreated_at2013-01-25T11:43:31+01:00updated_at2013-05-15 + 22:50:23nameWomenurl_keywomenthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/4all_children4,10,11,12,13path_in_storechildren10,11,12,13url_pathwomen.htmlchildren_count4display_modePAGElanding_page27is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update<reference> + + <remove name="right.poll"/> + + </reference>'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:07 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=45q152e9lu33brdqkopo1pg9g4; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:07 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tqi1gcnv15c54927lntuensrf3; expires=Fri, 30-Jun-2017 + 13:41:07 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:07 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=rj42t8ghtq8sicokf3706p2i41; expires=Fri, 30-Jun-2017 + 13:41:07 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + product_media.list + + + + + + + + 302 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/w/s/wsd005t_1.jpglabelposition1exclude0urlhttp://magento/media/catalog/product/w/s/wsd005t_1.jpgtypesimagesmall_imagethumbnailfile/w/s/wsd005b_1.jpglabelposition3exclude0urlhttp://magento/media/catalog/product/w/s/wsd005b_1.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:08 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=btv3qnpblbj22vivmqg4nr17p5; expires=Fri, 30-Jun-2017 + 13:41:08 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:08 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=mtietvimfuor2lunsd8bn1pdo6; expires=Fri, 30-Jun-2017 + 13:41:08 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/import_sale_order_100000201.yaml b/connector_magento/tests/fixtures/cassettes/import_sale_order_100000201.yaml new file mode 100644 index 000000000..b83b274ff --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/import_sale_order_100000201.yaml @@ -0,0 +1,948 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 7bd8047fd69712b39406280c699cf678'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:04 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=gam9d4rulhoivfbnegkfc85n31; expires=Fri, 30-Jun-2017 + 13:41:04 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + sales_order.info + + + + + + + + 100000201 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['344'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statenewstatuspendingcoupon_codeprotect_code13520dshipping_descriptionUnited + Parcel Service - Groundis_virtual0store_id1customer_id136base_discount_amount0.0000base_discount_canceledbase_discount_invoicedbase_discount_refundedbase_grand_total387.2700base_shipping_amount12.3100base_shipping_canceledbase_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal344.0000base_subtotal_canceledbase_subtotal_invoicedbase_subtotal_refundedbase_tax_amount30.9600base_tax_canceledbase_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceledbase_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount0.0000discount_canceleddiscount_invoiceddiscount_refundedgrand_total387.2700shipping_amount12.3100shipping_canceledshipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal344.0000subtotal_canceledsubtotal_invoicedsubtotal_refundedtax_amount30.9600tax_canceledtax_invoicedtax_refundedtotal_canceledtotal_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered3.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest0customer_note_notify1billing_address_id355customer_group_id1edit_incrementemail_sent1forced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id619shipping_address_id356adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax374.9600base_total_duepayment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax374.9600total_dueweight3.0000customer_dobincrement_id100000201applied_rule_idsbase_currency_codeUSDcustomer_emailjanedoe@magento.comcustomer_firstnameJanecustomer_lastnameDoecustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeUSDhold_before_statehold_before_statusorder_currency_codeUSDoriginal_increment_idrelation_child_idrelation_child_real_idrelation_parent_idrelation_parent_real_idremote_ip198.228.200.167shipping_methodups_GNDstore_currency_codeUSDstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2013-05-25 + 21:37:05updated_at2013-05-25 + 21:37:06total_item_count2customer_genderhidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax12.3100base_shipping_incl_tax12.3100coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amount0.0000customer_balance_amount0.0000base_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsa:0:{}base_gift_cards_amount0.0000gift_cards_amount0.0000base_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receipt0gw_add_card0gw_base_price0.0000gw_price0.0000gw_items_base_price0.0000gw_items_price0.0000gw_card_base_price0.0000gw_card_price0.0000gw_base_tax_amount0.0000gw_tax_amount0.0000gw_items_base_tax_amount0.0000gw_items_tax_amount0.0000gw_card_base_tax_amount0.0000gw_card_tax_amount0.0000gw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balance0base_reward_currency_amount0.0000reward_currency_amount0.0000base_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id181shipping_addressparent_id181customer_address_id92quote_address_idregion_id12customer_id136faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjanedoe@magento.comtelephone888-888-8888country_idUSfirstnameJaneaddress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id356billing_addressparent_id181customer_address_id92quote_address_idregion_id12customer_id136faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjanedoe@magento.comtelephone888-888-8888country_idUSfirstnameJaneaddress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id355itemsitem_id543order_id181parent_item_idquote_item_id2320store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id418product_typeconfigurableproduct_optionsa:10:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MTgvY2F0ZWdvcnkvMTEv";s:7:"product";s:3:"418";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"26";i:180;s:2:"81";}s:3:"qty";s:1:"2";s:10:"return_url";s:0:"";}s:15:"attributes_info";a:2:{i:0;a:2:{s:5:"label";s:5:"Color";s:5:"value";s:6:"Indigo";}i:1;a:2:{s:5:"label";s:4:"Size";s:5:"value";s:2:"XS";}}s:11:"simple_name";s:9:"Tori + Tank";s:10:"simple_sku";s:8:"wbk003xs";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwbk003xsnameTori + Tankdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered2.0000qty_refunded0.0000qty_shipped0.0000base_costprice60.0000base_price60.0000original_price60.0000base_original_price60.0000tax_percent9.0000tax_amount10.8000base_tax_amount10.8000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total120.0000base_row_total120.0000row_invoiced0.0000base_row_invoiced0.0000row_weight2.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax65.4000base_price_incl_tax65.4000row_total_incl_tax130.8000base_row_total_incl_tax130.8000hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000has_children1item_id544order_id181parent_item_id543quote_item_id2321store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id512product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MTgvY2F0ZWdvcnkvMTEv";s:7:"product";s:3:"418";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"26";i:180;s:2:"81";}s:3:"qty";s:1:"2";s:10:"return_url";s:0:"";}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwbk003xsnameTori + Tankdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered2.0000qty_refunded0.0000qty_shipped0.0000base_costprice0.0000base_price0.0000original_price0.0000base_original_pricetax_percent0.0000tax_amount0.0000base_tax_amount0.0000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total0.0000base_row_total0.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_taxbase_price_incl_taxrow_total_incl_taxbase_row_total_incl_taxhidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amntbase_weee_tax_applied_row_amountweee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000item_id545order_id181parent_item_idquote_item_id2322store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id423product_typeconfigurableproduct_optionsa:10:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MjMvY2F0ZWdvcnkvMTMv";s:7:"product";s:3:"423";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"18";i:180;s:2:"80";}s:3:"qty";s:1:"1";s:10:"return_url";s:0:"";}s:15:"attributes_info";a:2:{i:0;a:2:{s:5:"label";s:5:"Color";s:5:"value";s:6:"Purple";}i:1;a:2:{s:5:"label";s:4:"Size";s:5:"value";s:1:"S";}}s:11:"simple_name";s:21:"Racer + Back Maxi Dress";s:10:"simple_sku";s:6:"wsd005";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwsd005nameRacer + Back Maxi Dressdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice224.0000base_price224.0000original_price224.0000base_original_price224.0000tax_percent9.0000tax_amount20.1600base_tax_amount20.1600tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total224.0000base_row_total224.0000row_invoiced0.0000base_row_invoiced0.0000row_weight1.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax244.1600base_price_incl_tax244.1600row_total_incl_tax244.1600base_row_total_incl_tax244.1600hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000has_children1item_id546order_id181parent_item_id545quote_item_id2323store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id302product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MjMvY2F0ZWdvcnkvMTMv";s:7:"product";s:3:"423";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"18";i:180;s:2:"80";}s:3:"qty";s:1:"1";s:10:"return_url";s:0:"";}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwsd005nameRacer + Back Maxi Dressdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice0.0000base_price0.0000original_price0.0000base_original_pricetax_percent0.0000tax_amount0.0000base_tax_amount0.0000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total0.0000base_row_total0.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_taxbase_price_incl_taxrow_total_incl_taxbase_row_total_incl_taxhidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amntbase_weee_tax_applied_row_amountweee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id181base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount12.3100shipping_amount12.3100amount_paidamount_authorizedbase_amount_ordered387.2700base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered387.2700base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcheckmocc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id181status_historyparent_id181is_customer_notified1is_visible_on_front0commentstatuspendingcreated_at2013-05-25 + 21:37:06entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=pfkosqhm3bhjh4dvo8km9tti30; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + customer.info + + + + + + + + 136 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id136created_at2013-05-16T06:20:45+02:00updated_at2014-05-03 + 21:36:47increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing92default_shipping92disable_auto_group_change0dobemailjanedoe@example.comfirstnameJanegendergroup_id1lastnameDoemiddlenamepassword_hash80f8bdf79491b99b8180a4e746046ea5:8huK4jwUrBIwUTnw3LuWKT9MzAQghb5zprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=fs03npe5gss1h7jbcf0fkce344; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + ol_customer_groups.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id1customer_group_codeGeneraltax_class_id3'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=81pbd4lbrcbvvbt8h52qc5g5d3; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 136 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['496'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id92created_at2013-05-17 + 01:20:45updated_at2014-05-03 + 21:36:47cityCulver + Citycountry_idUSfirstnameJanelastnameDoepostcode90232regionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200telephone888-888-8888is_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=g8635t1jlq7mn7j46rmr78ehk7; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + customer_address.info + + + + + + + + 92 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id92created_at2013-05-17T03:20:45+02:00updated_at2014-05-03 + 21:36:47increment_idcityCulver + Citycompanycountry_idUSfaxfirstnameJanelastnameDoemiddlenamepostcode90232prefixregionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200suffixtelephone888-888-8888vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:05 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=jbu63g98dnm2222ef3ssm04fr0; expires=Fri, 30-Jun-2017 + 13:41:05 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + ol_catalog_product.info + + + + + + + + 512 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id512skuwbk003xsset13typesimplecategorieswebsites1type_idsimplenameTori + TankdescriptionRibbed + scoop neck tank. 100% cotton.Machine wash.short_descriptionA + simple ribbed cotton tank. Great for layering.weight1.0000news_from_date2013-03-01 + 00:00:00old_idnews_to_datestatus1url_keytori-tankvisibility1country_of_manufactureurl_pathtori-tank-577.htmlcategory_idsrequired_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-12T03:32:00+01:00updated_at2014-03-08 + 08:06:21price60.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecolor26occasion31apparel_type35sleeve_length45fitsize81lengthgender94'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:06 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=hchb1pmf0739fl7rkt5fdkpdd6; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + product_media.list + + + + + + + + 512 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/w/b/wbk003t_4.jpglabelposition1exclude0urlhttp://magento/media/catalog/product/w/b/wbk003t_4.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:06 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ng8pj5rng9epo1881nd4ul8ja1; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + ol_catalog_product.info + + + + + + + + 302 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id302skuwsd005set13typesimplecategories13websites1type_idsimplenameRacer + Back Maxi DressdescriptionRacer + back maxi dress. Pull over style. Loose fitting. Straight skirt falls to floor. + Viscose. short_descriptionThis + classic maxi dress drapes beautifully throughout body and sweeps in a light + A-line to the floor. Keep a casual chic look by pairing with a jean jacket + or go glam with a statement necklace.weight1.0000news_from_date2013-03-01 + 00:00:00old_idnews_to_datestatus1url_keyracer-back-maxi-dressvisibility1country_of_manufactureurl_pathracer-back-maxi-dress.htmlcategory_ids13required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:15+01:00updated_at2013-05-10 + 21:22:33price280.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecolor18occasion31apparel_type33sleeve_length45fitsize80length84gender94'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:06 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ndbatqgkviasnujcc7hm7aa2o5; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + catalog_category.info + + + + + + + + 13 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id13is_active1position4level3parent_id4increment_idcreated_at2013-01-25T11:59:21+01:00updated_at2013-03-05 + 04:45:24nameDresses + & Skirtsurl_keydresses-skirtsthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/4/13all_children13path_in_storechildrenurl_pathwomen/dresses-skirts.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:06 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=coqjs3ilconc0t0om520iblqj0; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + catalog_category.info + + + + + + + + 4 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id4is_active1position2level2parent_id2increment_idcreated_at2013-01-25T11:43:31+01:00updated_at2013-05-15 + 22:50:23nameWomenurl_keywomenthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/4all_children4,10,11,12,13path_in_storechildren10,11,12,13url_pathwomen.htmlchildren_count4display_modePAGElanding_page27is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update<reference> + + <remove name="right.poll"/> + + </reference>'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:07 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=45q152e9lu33brdqkopo1pg9g4; expires=Fri, 30-Jun-2017 + 13:41:06 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:07 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tqi1gcnv15c54927lntuensrf3; expires=Fri, 30-Jun-2017 + 13:41:07 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:07 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=rj42t8ghtq8sicokf3706p2i41; expires=Fri, 30-Jun-2017 + 13:41:07 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + product_media.list + + + + + + + + 302 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/w/s/wsd005t_1.jpglabelposition1exclude0urlhttp://magento/media/catalog/product/w/s/wsd005t_1.jpgtypesimagesmall_imagethumbnailfile/w/s/wsd005b_1.jpglabelposition3exclude0urlhttp://magento/media/catalog/product/w/s/wsd005b_1.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:08 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=btv3qnpblbj22vivmqg4nr17p5; expires=Fri, 30-Jun-2017 + 13:41:08 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 7bd8047fd69712b39406280c699cf678 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:41:08 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=mtietvimfuor2lunsd8bn1pdo6; expires=Fri, 30-Jun-2017 + 13:41:08 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/import_sale_order_145000008.yaml b/connector_magento/tests/fixtures/cassettes/import_sale_order_145000008.yaml new file mode 100644 index 000000000..d66ef7d33 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/import_sale_order_145000008.yaml @@ -0,0 +1,719 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + e69985588c1e8f41340c14f52d84eb1b'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:11 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=mge0r50gtlmk8ap7qbhdfbab51; expires=Fri, 30-Jun-2017 + 13:49:11 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + sales_order.info + + + + + + + + 145000008 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['344'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statenewstatuspendingcoupon_codeprotect_code3b4248shipping_descriptionFree + Shipping - Freeis_virtual0store_id1customer_idbase_discount_amount0.0000base_discount_canceledbase_discount_invoicedbase_discount_refundedbase_grand_total243.5600base_shipping_amount0.0000base_shipping_canceledbase_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal225.0000base_subtotal_canceledbase_subtotal_invoicedbase_subtotal_refundedbase_tax_amount18.5600base_tax_canceledbase_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceledbase_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount0.0000discount_canceleddiscount_invoiceddiscount_refundedgrand_total243.5600shipping_amount0.0000shipping_canceledshipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal225.0000subtotal_canceledsubtotal_invoicedsubtotal_refundedtax_amount18.5600tax_canceledtax_invoicedtax_refundedtotal_canceledtotal_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered1.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest1customer_note_notify1billing_address_id384customer_group_id0edit_incrementemail_sentforced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id682shipping_address_id385adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax243.5600base_total_duepayment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax243.5600total_dueweight1.0000customer_dobincrement_id145000008applied_rule_idsbase_currency_codeEURcustomer_emailbill@example.comcustomer_firstnameBillcustomer_lastnameBoqueycustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeEURhold_before_statehold_before_statusorder_currency_codeEURoriginal_increment_idrelation_child_idrelation_child_real_idrelation_parent_idrelation_parent_real_idremote_ip172.23.0.1shipping_methodfreeshipping_freeshippingstore_currency_codeEURstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2017-06-30 + 12:48:31updated_at2017-06-30 + 12:48:31total_item_count1customer_genderhidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax0.0000base_shipping_incl_tax0.0000coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amountcustomer_balance_amountbase_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsbase_gift_cards_amountgift_cards_amountbase_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receiptgw_add_cardgw_base_pricegw_pricegw_items_base_pricegw_items_pricegw_card_base_pricegw_card_pricegw_base_tax_amountgw_tax_amountgw_items_base_tax_amountgw_items_tax_amountgw_card_base_tax_amountgw_card_tax_amountgw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balancebase_reward_currency_amountreward_currency_amountbase_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id197shipping_addressparent_id197customer_address_idquote_address_idregion_id49customer_idfaxregionOregonpostcode11111lastnameBoqueystreetHerecityThereemailbill@example.comtelephone000000000000country_idUSfirstnameBilladdress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id385billing_addressparent_id197customer_address_idquote_address_idregion_id49customer_idfaxregionOregonpostcode11111lastnameBoqueystreetHerecityThereemailbill@example.comtelephone000000000000country_idUSfirstnameBilladdress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id384itemsitem_id598order_id197parent_item_idquote_item_id2477store_id1created_at2017-06-30 + 12:48:31updated_at2017-06-30 + 12:48:31product_id338product_typesimpleproduct_optionsa:1:{s:15:"info_buyRequest";a:5:{s:4:"uenc";s:100:"aHR0cDovL21hZ2VudG8vYWNjZXNzb3JpZXMvZXlld2Vhci9qYWNraWUtby1yb3VuZC1zdW5nbGFzc2VzLmh0bWw_X19fU0lEPVU,";s:7:"product";s:3:"338";s:8:"form_key";s:16:"HK2vdBQKs7qgIM8F";s:15:"related_product";s:0:"";s:3:"qty";s:1:"1";}}weight1.0000is_virtual0skuace001nameJackie + O Round Sunglassesdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice225.0000base_price225.0000original_price225.0000base_original_price225.0000tax_percent8.2500tax_amount18.5600base_tax_amount18.5600tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total225.0000base_row_total225.0000row_invoiced0.0000base_row_invoiced0.0000row_weight1.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax243.5600base_price_incl_tax243.5600row_total_incl_tax243.5600base_row_total_incl_tax243.5600hidden_tax_amount0.0000base_hidden_tax_amount0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id197base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount0.0000shipping_amount0.0000amount_paidamount_authorizedbase_amount_ordered243.5600base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered243.5600base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcashondeliverycc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id196status_historyparent_id197is_customer_notified1is_visible_on_front0commentstatuspendingcreated_at2017-06-30 + 12:48:31entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:11 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=1qa5q3eltadrf02jkbkcj4bun6; expires=Fri, 30-Jun-2017 + 13:49:11 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + ol_customer_groups.info + + + + + + + + 0 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id0customer_group_codeNOT + LOGGED INtax_class_id10'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:12 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=jbprolv8f615bu6v2o3cack096; expires=Fri, 30-Jun-2017 + 13:49:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + ol_catalog_product.info + + + + + + + + 338 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id338skuace001set11typesimplecategories1828websites1type_idsimplenameJackie + O Round SunglassesdescriptionAcetate + frame. Polycarbonate lenses.short_descriptionThese + distinct, feminine frames balance a classic Jackie-O styling with a modern + look. weight1.0000news_from_dateold_idnews_to_datestatus1url_keyjackie-o-round-sunglassesvisibility4country_of_manufactureurl_pathjackie-o-round-sunglasses.htmlcategory_ids1828required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:17+01:00updated_at2013-03-20 + 16:45:30price295.0000group_pricespecial_price225.0000special_from_date2013-03-05 + 00:00:00minimal_pricespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecolor28gender94material130luggage_sizeluggage_travel_stylebag_luggage_typeaccessories_sizeaccessories_typeEyewearluggage_style'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:12 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=llk072a2se7euqh8lpgt82lfc3; expires=Fri, 30-Jun-2017 + 13:49:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + catalog_category.info + + + + + + + + 18 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id18is_active1position1level3parent_id6increment_idcreated_at2013-01-25T12:04:27+01:00updated_at2013-03-05 + 07:16:27nameEyewearurl_keyeyewearthumbnaildescriptionimageplp-eye.jpgmeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/6/18all_children18path_in_storechildrenurl_pathaccessories/eyewear.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:12 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ea46lanl44ntp1cjo51cc3u3q2; expires=Fri, 30-Jun-2017 + 13:49:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + catalog_category.info + + + + + + + + 6 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id6is_active1position4level2parent_id2increment_idcreated_at2013-01-25T11:47:41+01:00updated_at2013-12-25 + 12:28:34nameAccessoriesurl_keyaccessoriesthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/6all_children6,18,19,20,21path_in_storechildren18,19,20,21url_pathaccessories.htmlchildren_count4display_modePAGElanding_page17is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:13 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=mb37qc7gerd3scsnnjcdcbnle5; expires=Fri, 30-Jun-2017 + 13:49:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:13 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=9gkvmao14g5l1nq42ofkit8am2; expires=Fri, 30-Jun-2017 + 13:49:13 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:13 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=cs99s2v9kvc78ino9l3ge5u9j6; expires=Fri, 30-Jun-2017 + 13:49:13 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + catalog_category.info + + + + + + + + 28 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id28is_active1position3level3parent_id8increment_idcreated_at2013-01-25T12:11:31+01:00updated_at2013-05-06 + 04:17:24nameAccessoriesurl_keyaccessoriesthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/8/28all_children28path_in_storechildrenurl_pathsale/accessories.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:13 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=4h9h06jpdsa3oqkrbdrpptmkj6; expires=Fri, 30-Jun-2017 + 13:49:13 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + catalog_category.info + + + + + + + + 8 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id8is_active1position6level2parent_id2increment_idcreated_at2013-01-25T11:49:50+01:00updated_at2013-05-15 + 22:49:33nameSaleurl_keysalethumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/8all_children8,26,27,28,29path_in_storechildren26,27,28,29url_pathsale.htmlchildren_count4display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update<reference> + + <remove name="right.poll"/> + + </reference>'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:14 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tnd2934e94138801ohpktogjc3; expires=Fri, 30-Jun-2017 + 13:49:13 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + product_media.list + + + + + + + + 338 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/a/c/ace001_1.jpglabelposition1exclude1urlhttp://magento/media/catalog/product/a/c/ace001_1.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:14 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=jab7ra8pas4q6go52993eilgj4; expires=Fri, 30-Jun-2017 + 13:49:14 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + e69985588c1e8f41340c14f52d84eb1b + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:49:15 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=1nlaqg5enbpbdn3tt558j5jb01; expires=Fri, 30-Jun-2017 + 13:49:15 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/import_sale_order_145000009.yaml b/connector_magento/tests/fixtures/cassettes/import_sale_order_145000009.yaml new file mode 100644 index 000000000..6985e600c --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/import_sale_order_145000009.yaml @@ -0,0 +1,994 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + f1331264594c776ada72f62058934e7e'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:57 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=n7qphnme2ruesn9a578vk0sn44; expires=Fri, 30-Jun-2017 + 16:28:57 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + sales_order.info + + + + + + + + 145000009 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['344'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statenewstatuspendingcoupon_codeprotect_code8abdfbshipping_descriptionUnited + Parcel Service - Groundis_virtual0store_id1customer_id135base_discount_amount0.0000base_discount_canceledbase_discount_invoicedbase_discount_refundedbase_grand_total910.1500base_shipping_amount0.0000base_shipping_canceledbase_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal835.0000base_subtotal_canceledbase_subtotal_invoicedbase_subtotal_refundedbase_tax_amount75.1500base_tax_canceledbase_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceledbase_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount0.0000discount_canceleddiscount_invoiceddiscount_refundedgrand_total910.1500shipping_amount0.0000shipping_canceledshipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal835.0000subtotal_canceledsubtotal_invoicedsubtotal_refundedtax_amount75.1500tax_canceledtax_invoicedtax_refundedtotal_canceledtotal_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered2.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest0customer_note_notify0billing_address_id386customer_group_id1edit_incrementemail_sentforced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id683shipping_address_id387adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax910.1500base_total_duepayment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax910.1500total_dueweight2.0000customer_dobincrement_id145000009applied_rule_ids29base_currency_codeEURcustomer_emailjohndoe@magento.comcustomer_firstnameJohncustomer_lastnameDoecustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeEURhold_before_statehold_before_statusorder_currency_codeEURoriginal_increment_idrelation_child_idrelation_child_real_idrelation_parent_idrelation_parent_real_idremote_ipshipping_methodups_GNDstore_currency_codeEURstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2017-06-30 + 15:28:26updated_at2017-06-30 + 15:28:26total_item_count2customer_gender1hidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax0.0000base_shipping_incl_tax0.0000coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amountcustomer_balance_amountbase_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsbase_gift_cards_amountgift_cards_amountbase_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receiptgw_add_cardgw_base_pricegw_pricegw_items_base_pricegw_items_pricegw_card_base_pricegw_card_pricegw_base_tax_amountgw_tax_amountgw_items_base_tax_amountgw_items_tax_amountgw_card_base_tax_amountgw_card_tax_amountgw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balancebase_reward_currency_amountreward_currency_amountbase_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id198shipping_addressparent_id198customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@example.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id387billing_addressparent_id198customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@example.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id386itemsitem_id599order_id198parent_item_idquote_item_id2478store_id1created_at2017-06-30 + 15:28:26updated_at2017-06-30 + 15:28:26product_id393product_typesimpleproduct_optionsa:1:{s:15:"info_buyRequest";a:5:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"393";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";s:6:"1.0000";s:7:"options";a:0:{}}}weight1.0000is_virtual0skuhde003nameMadison + RX3400descriptionapplied_rule_ids29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice715.0000base_price715.0000original_price715.0000base_original_price715.0000tax_percent9.0000tax_amount64.3500base_tax_amount64.3500tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total715.0000base_row_total715.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax779.3500base_price_incl_tax779.3500row_total_incl_tax779.3500base_row_total_incl_tax779.3500hidden_tax_amount0.0000base_hidden_tax_amount0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000item_id600order_id198parent_item_idquote_item_id2479store_id1created_at2017-06-30 + 15:28:26updated_at2017-06-30 + 15:28:26product_id396product_typesimpleproduct_optionsa:1:{s:15:"info_buyRequest";a:5:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"396";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";s:6:"1.0000";s:7:"options";a:0:{}}}weight1.0000is_virtual0skuhde006nameLarge + Camera Bagdescriptionapplied_rule_ids29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice120.0000base_price120.0000original_price120.0000base_original_price120.0000tax_percent9.0000tax_amount10.8000base_tax_amount10.8000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total120.0000base_row_total120.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax130.8000base_price_incl_tax130.8000row_total_incl_tax130.8000base_row_total_incl_tax130.8000hidden_tax_amount0.0000base_hidden_tax_amount0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id198base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount0.0000shipping_amount0.0000amount_paidamount_authorizedbase_amount_ordered910.1500base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered910.1500base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcashondeliverycc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id197status_historyparent_id198is_customer_notified0is_visible_on_front0commentstatuspendingcreated_at2017-06-30 + 15:28:26entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:57 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=v72c4f82ajodm49hq3g45802n5; expires=Fri, 30-Jun-2017 + 16:28:57 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + customer.info + + + + + + + + 135 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id135created_at2013-05-16T06:16:11+02:00updated_at2017-06-30 + 15:28:26increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing91default_shipping91disable_auto_group_change0dobemailjohndoe@example.comfirstnameJohngender1group_id1lastnameDoemiddlenamepassword_hash60d0b6777081273c90d9dcf6342b18d511d539f5f119b56a364b2b0ff6dd29f1:O9hr8Lafe1STOCnJkp2ZHjFMrfM9plGnprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:57 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=qsn7cplojtcausqmm3ce2vkk86; expires=Fri, 30-Jun-2017 + 16:28:57 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + ol_customer_groups.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id1customer_group_codeGeneraltax_class_id3'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:57 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ns904633i9siqoriip0q05jmr5; expires=Fri, 30-Jun-2017 + 16:28:57 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 135 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['496'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id91created_at2013-05-16 + 00:16:11updated_at2017-06-30 + 15:28:26cityCulver + Citycountry_idUSfirstnameJohnlastnameDoepostcode90232regionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200telephone888-888-8888is_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=9akab9hsrq3kqetb38gfsmb6c6; expires=Fri, 30-Jun-2017 + 16:28:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + customer_address.info + + + + + + + + 91 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id91created_at2013-05-16T02:16:11+02:00updated_at2017-06-30 + 15:28:26increment_idcityCulver + Citycompanycountry_idUSfaxfirstnameJohnlastnameDoemiddlenamepostcode90232prefixregionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200suffixtelephone888-888-8888vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=hnvtb6461qn1nola2a4n5o7jb5; expires=Fri, 30-Jun-2017 + 16:28:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + ol_catalog_product.info + + + + + + + + 393 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id393skuhde003set14typesimplecategories924websites1type_idsimplenameMadison + RX3400description18-55mm + zoom lens. 3.0" LCD display with image editing features. Built in flash + with flash modes and pop up. SD/SDXC slot. Full 1080p HD video. Rechargable + Lithium-Ion battery. File formats: NEF (RAW), JPEG, MOV. 5" x 3" + x 4", 15oz.short_descriptionFor + budding photo connoisseurs.weight1.0000news_from_dateold_idnews_to_datestatus1url_keymadison-rx3400visibility4country_of_manufactureurl_pathmadison-rx3400.htmlcategory_ids924required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:20+01:00updated_at2013-05-30 + 00:02:17price715.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled1msrp_display_actual_price_type2msrp815.0000tax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecamera_type172color20camera_megapixels180electronic_type218'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=pcvb3fb07rkf09ummp01o4c8m3; expires=Fri, 30-Jun-2017 + 16:28:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + catalog_category.info + + + + + + + + 9 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id9is_active1position7level2parent_id2increment_idcreated_at2013-01-25T11:50:47+01:00updated_at2013-05-10 + 17:17:59nameVIPurl_keyvipthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/9all_children9path_in_storechildrenurl_pathvip.htmlchildren_count0display_modePRODUCTS_AND_PAGElanding_page31is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=cpccdt7cofmkrjjnbli5vub9u7; expires=Fri, 30-Jun-2017 + 16:28:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tf9gr1frscg23rtcmk3u7lbt47; expires=Fri, 30-Jun-2017 + 16:28:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=qj4jg4jb2j0nv6kt7hjfqhc2f5; expires=Fri, 30-Jun-2017 + 16:28:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + catalog_category.info + + + + + + + + 24 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id24is_active1position3level3parent_id7increment_idcreated_at2013-01-25T12:08:54+01:00updated_at2013-03-08 + 19:27:16nameElectronicsurl_keyelectronicsthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7/24all_children24path_in_storechildrenurl_pathhome-decor/electronics.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=vmtnukteni1hbk64a7opj1b7c1; expires=Fri, 30-Jun-2017 + 16:28:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + catalog_category.info + + + + + + + + 7 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id7is_active1position5level2parent_id2increment_idcreated_at2013-01-25T11:49:05+01:00updated_at2013-05-08 + 05:26:34nameHome + & Decorurl_keyhome-decorthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7all_children7,22,23,24,25path_in_storechildren22,23,24,25url_pathhome-decor.htmlchildren_count4display_modePAGElanding_page21is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:28:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=j3l5ot7gkthqpf6nhvlag69ps7; expires=Fri, 30-Jun-2017 + 16:28:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + product_media.list + + + + + + + + 393 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hde003a_2.jpglabelposition2exclude0urlhttp://magento/media/catalog/product/h/d/hde003a_2.jpgtypesimagesmall_imagethumbnailfile/h/d/hde003b_.jpglabelposition4exclude0urlhttp://magento/media/catalog/product/h/d/hde003b_.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:29:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=6mtaka9lpvbre8p59ohuvcoev6; expires=Fri, 30-Jun-2017 + 16:29:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + ol_catalog_product.info + + + + + + + + 396 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id396skuhde006set14typesimplecategories24websites1type_idsimplenameLarge + Camera BagdescriptionFlap + closure. Microfiber. 8.5" x 5" x 6". Domestic.short_descriptionKeep + your camera safe and secure in our Large Camera case.weight1.0000news_from_dateold_idnews_to_datestatus1url_keylarge-camera-bagvisibility4country_of_manufactureurl_pathlarge-camera-bag.htmlcategory_ids24required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:20+01:00updated_at2013-05-16 + 20:15:59price120.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecamera_typecolor17camera_megapixelselectronic_type219'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:29:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=duthp7uiidnk9dv8dsokp7pq62; expires=Fri, 30-Jun-2017 + 16:29:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1331264594c776ada72f62058934e7e + + + + + + product_media.list + + + + + + + + 396 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hde006t.jpglabelposition4exclude0urlhttp://magento/media/catalog/product/h/d/hde006t.jpgtypesimagesmall_imagethumbnailfile/h/d/hde006b_1.jpglabelposition5exclude0urlhttp://magento/media/catalog/product/h/d/hde006b_1.jpgtypesfile/h/d/hde006c.jpglabelposition6exclude0urlhttp://magento/media/catalog/product/h/d/hde006c.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:29:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=cpd004d6acqocmk7ic4jj0jru6; expires=Fri, 30-Jun-2017 + 16:29:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + f1331264594c776ada72f62058934e7e + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:29:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=i2tcg4rpkocbfredeqc1f0vac5; expires=Fri, 30-Jun-2017 + 16:29:01 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/import_sale_order_edited_1.yaml b/connector_magento/tests/fixtures/cassettes/import_sale_order_edited_1.yaml new file mode 100644 index 000000000..f42b4baca --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/import_sale_order_edited_1.yaml @@ -0,0 +1,994 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 105c77d1f2279b16b4be052d1cd57552'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:39 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=1o9qhbt7bf8323r9fbi67i90s3; expires=Fri, 30-Jun-2017 + 13:34:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + sales_order.info + + + + + + + + 100000200 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['344'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statenewstatuspendingcoupon_codeprotect_code4b2dd1shipping_descriptionUnited + Parcel Service - Groundis_virtual0store_id1customer_id135base_discount_amount-10.0000base_discount_canceledbase_discount_invoicedbase_discount_refundedbase_grand_total599.2500base_shipping_amount0.0000base_shipping_canceledbase_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal835.0000base_subtotal_canceledbase_subtotal_invoicedbase_subtotal_refundedbase_tax_amount74.2500base_tax_canceledbase_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceledbase_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount-10.0000discount_canceleddiscount_invoiceddiscount_refundedgrand_total599.2500shipping_amount0.0000shipping_canceledshipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal835.0000subtotal_canceledsubtotal_invoicedsubtotal_refundedtax_amount74.2500tax_canceledtax_invoicedtax_refundedtotal_canceledtotal_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered2.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest0customer_note_notify1billing_address_id353customer_group_id1edit_incrementemail_sent1forced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id577shipping_address_id354adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax910.1500base_total_duepayment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax910.1500total_dueweight2.0000customer_dobincrement_id100000200applied_rule_ids11,29base_currency_codeUSDcustomer_emailjohndoe@magento.comcustomer_firstnameJohncustomer_lastnameDoecustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeUSDhold_before_statehold_before_statusorder_currency_codeUSDoriginal_increment_idrelation_child_idrelation_child_real_idrelation_parent_idrelation_parent_real_idremote_ip74.68.114.135shipping_methodups_GNDstore_currency_codeUSDstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2013-05-25 + 01:58:37updated_at2013-05-25 + 01:58:38total_item_count2customer_gender1hidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax0.0000base_shipping_incl_tax0.0000coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amount0.0000customer_balance_amount0.0000base_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsa:1:{i:0;a:5:{s:1:"i";s:2:"58";s:1:"c";s:12:"20IRHQMGHAB6";s:1:"a";d:300;s:2:"ba";d:300;s:10:"authorized";d:300;}}base_gift_cards_amount300.0000gift_cards_amount300.0000base_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receipt0gw_add_card0gw_base_price0.0000gw_price0.0000gw_items_base_price0.0000gw_items_price0.0000gw_card_base_price0.0000gw_card_price0.0000gw_base_tax_amount0.0000gw_tax_amount0.0000gw_items_base_tax_amount0.0000gw_items_tax_amount0.0000gw_card_base_tax_amount0.0000gw_card_tax_amount0.0000gw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balance0base_reward_currency_amount0.0000reward_currency_amount0.0000base_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id180shipping_addressparent_id180customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@magento.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id354billing_addressparent_id180customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@magento.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id353itemsitem_id541order_id180parent_item_idquote_item_id2315store_id1created_at2013-05-25 + 01:58:37updated_at2013-05-25 + 01:58:37product_id393product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:4:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"393";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";i:1;}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuhde003nameMadison + RX3400descriptionapplied_rule_ids11,29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice715.0000base_price715.0000original_price715.0000base_original_price715.0000tax_percent9.0000tax_amount63.5800base_tax_amount63.5800tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount8.5600base_discount_amount8.5600discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total715.0000base_row_total715.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax779.3500base_price_incl_tax779.3500row_total_incl_tax779.3500base_row_total_incl_tax779.3500hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000item_id542order_id180parent_item_idquote_item_id2316store_id1created_at2013-05-25 + 01:58:37updated_at2013-05-25 + 01:58:37product_id396product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:4:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"396";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";i:1;}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuhde006nameLarge + Camera Bagdescriptionapplied_rule_ids11,29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice120.0000base_price120.0000original_price120.0000base_original_price120.0000tax_percent9.0000tax_amount10.6700base_tax_amount10.6700tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount1.4400base_discount_amount1.4400discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total120.0000base_row_total120.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax130.8000base_price_incl_tax130.8000row_total_incl_tax130.8000base_row_total_incl_tax130.8000hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id180base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount0.0000shipping_amount0.0000amount_paidamount_authorizedbase_amount_ordered599.2500base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered599.2500base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcheckmocc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id180status_historyparent_id180is_customer_notified1is_visible_on_front0commentstatuspendingcreated_at2013-05-25 + 01:58:38entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:39 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=hsrd00k9qtufdbd2ghrkt62ag2; expires=Fri, 30-Jun-2017 + 13:34:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + customer.info + + + + + + + + 135 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id135created_at2013-05-16T06:16:11+02:00updated_at2013-06-24 + 14:20:46increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing91default_shipping91disable_auto_group_change0dobemailjohndoe@example.comfirstnameJohngender1group_id1lastnameDoemiddlenamepassword_hash60d0b6777081273c90d9dcf6342b18d511d539f5f119b56a364b2b0ff6dd29f1:O9hr8Lafe1STOCnJkp2ZHjFMrfM9plGnprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:39 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=2163eccng2uerbrd47v32q24p1; expires=Fri, 30-Jun-2017 + 13:34:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + ol_customer_groups.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id1customer_group_codeGeneraltax_class_id3'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:39 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=v7at0et1f45tiphguftoj9fus6; expires=Fri, 30-Jun-2017 + 13:34:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 135 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['496'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id91created_at2013-05-16 + 04:16:11updated_at2013-06-24 + 14:20:46cityCulver + Citycountry_idUSfirstnameJohnlastnameDoepostcode90232regionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200telephone888-888-8888is_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:39 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ehfnatq6erkbrqp6jh93d080a2; expires=Fri, 30-Jun-2017 + 13:34:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + customer_address.info + + + + + + + + 91 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id91created_at2013-05-16T06:16:11+02:00updated_at2013-06-24 + 14:20:46increment_idcityCulver + Citycompanycountry_idUSfaxfirstnameJohnlastnameDoemiddlenamepostcode90232prefixregionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200suffixtelephone888-888-8888vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:40 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=uo8dcfa1p1por3tph0vlme9ht2; expires=Fri, 30-Jun-2017 + 13:34:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + ol_catalog_product.info + + + + + + + + 393 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id393skuhde003set14typesimplecategories924websites1type_idsimplenameMadison + RX3400description18-55mm + zoom lens. 3.0" LCD display with image editing features. Built in flash + with flash modes and pop up. SD/SDXC slot. Full 1080p HD video. Rechargable + Lithium-Ion battery. File formats: NEF (RAW), JPEG, MOV. 5" x 3" + x 4", 15oz.short_descriptionFor + budding photo connoisseurs.weight1.0000news_from_dateold_idnews_to_datestatus1url_keymadison-rx3400visibility4country_of_manufactureurl_pathmadison-rx3400.htmlcategory_ids924required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:20+01:00updated_at2013-05-30 + 00:02:17price715.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled1msrp_display_actual_price_type2msrp815.0000tax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecamera_type172color20camera_megapixels180electronic_type218'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:40 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=otm2usl5sdntp9qqudhv9lo3a7; expires=Fri, 30-Jun-2017 + 13:34:40 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + catalog_category.info + + + + + + + + 9 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id9is_active1position7level2parent_id2increment_idcreated_at2013-01-25T11:50:47+01:00updated_at2013-05-10 + 17:17:59nameVIPurl_keyvipthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/9all_children9path_in_storechildrenurl_pathvip.htmlchildren_count0display_modePRODUCTS_AND_PAGElanding_page31is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:40 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=i08hrkrk2p28115cl57578bl36; expires=Fri, 30-Jun-2017 + 13:34:40 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:40 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=57tr9sk10t3m6loi9qe8p74311; expires=Fri, 30-Jun-2017 + 13:34:40 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:40 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=8f93k39r7pidjnuegsm420dqh6; expires=Fri, 30-Jun-2017 + 13:34:40 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + catalog_category.info + + + + + + + + 24 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id24is_active1position3level3parent_id7increment_idcreated_at2013-01-25T12:08:54+01:00updated_at2013-03-08 + 19:27:16nameElectronicsurl_keyelectronicsthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7/24all_children24path_in_storechildrenurl_pathhome-decor/electronics.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:41 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=dq11j2u00s0vhc735vc5o6l335; expires=Fri, 30-Jun-2017 + 13:34:41 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + catalog_category.info + + + + + + + + 7 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id7is_active1position5level2parent_id2increment_idcreated_at2013-01-25T11:49:05+01:00updated_at2013-05-08 + 05:26:34nameHome + & Decorurl_keyhome-decorthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7all_children7,22,23,24,25path_in_storechildren22,23,24,25url_pathhome-decor.htmlchildren_count4display_modePAGElanding_page21is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:41 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=0ijgnjsnpoqhsv0f0ra1osmtv6; expires=Fri, 30-Jun-2017 + 13:34:41 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + product_media.list + + + + + + + + 393 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hde003a_2.jpglabelposition2exclude0urlhttp://magento/media/catalog/product/h/d/hde003a_2.jpgtypesimagesmall_imagethumbnailfile/h/d/hde003b_.jpglabelposition4exclude0urlhttp://magento/media/catalog/product/h/d/hde003b_.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:42 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=521f1vasdnaqt96tq35r6a2k35; expires=Fri, 30-Jun-2017 + 13:34:42 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + ol_catalog_product.info + + + + + + + + 396 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id396skuhde006set14typesimplecategories24websites1type_idsimplenameLarge + Camera BagdescriptionFlap + closure. Microfiber. 8.5" x 5" x 6". Domestic.short_descriptionKeep + your camera safe and secure in our Large Camera case.weight1.0000news_from_dateold_idnews_to_datestatus1url_keylarge-camera-bagvisibility4country_of_manufactureurl_pathlarge-camera-bag.htmlcategory_ids24required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:20+01:00updated_at2013-05-16 + 20:15:59price120.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecamera_typecolor17camera_megapixelselectronic_type219'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:42 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=9venp86op5urm1ojq3naqsefh6; expires=Fri, 30-Jun-2017 + 13:34:42 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + product_media.list + + + + + + + + 396 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hde006t.jpglabelposition4exclude0urlhttp://magento/media/catalog/product/h/d/hde006t.jpgtypesimagesmall_imagethumbnailfile/h/d/hde006b_1.jpglabelposition5exclude0urlhttp://magento/media/catalog/product/h/d/hde006b_1.jpgtypesfile/h/d/hde006c.jpglabelposition6exclude0urlhttp://magento/media/catalog/product/h/d/hde006c.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:42 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=592ac8vkqlr3v7f5l9qk3kiob7; expires=Fri, 30-Jun-2017 + 13:34:42 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 105c77d1f2279b16b4be052d1cd57552 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:34:43 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=5kld97jr1bgmguo8vep2c91fr3; expires=Fri, 30-Jun-2017 + 13:34:43 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/import_sale_order_edited_2.yaml b/connector_magento/tests/fixtures/cassettes/import_sale_order_edited_2.yaml new file mode 100644 index 000000000..e4f865d2d --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/import_sale_order_edited_2.yaml @@ -0,0 +1,291 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 8854f74b72e4c5df303df2a9be4a1a81'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:37:29 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tc3hrsd17ok447b80k1gl313a3; expires=Fri, 30-Jun-2017 + 13:37:29 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 8854f74b72e4c5df303df2a9be4a1a81 + + + + + + sales_order.info + + + + + + + + 100000200-1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['352'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statenewstatuspendingcoupon_codeprotect_codeb4ee57shipping_descriptionUnited + Parcel Service - Groundis_virtual0store_id1customer_id135base_discount_amount0.0000base_discount_canceledbase_discount_invoicedbase_discount_refundedbase_grand_total910.1500base_shipping_amount0.0000base_shipping_canceledbase_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal835.0000base_subtotal_canceledbase_subtotal_invoicedbase_subtotal_refundedbase_tax_amount75.1500base_tax_canceledbase_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceledbase_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount0.0000discount_canceleddiscount_invoiceddiscount_refundedgrand_total910.1500shipping_amount0.0000shipping_canceledshipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal835.0000subtotal_canceledsubtotal_invoicedsubtotal_refundedtax_amount75.1500tax_canceledtax_invoicedtax_refundedtotal_canceledtotal_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered2.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest0customer_note_notify0billing_address_id382customer_group_id1edit_increment1email_sentforced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id680shipping_address_id383adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax910.1500base_total_duepayment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax910.1500total_dueweight2.0000customer_dobincrement_id100000200-1applied_rule_ids29base_currency_codeEURcustomer_emailjohndoe@magento.comcustomer_firstnameJohncustomer_lastnameDoecustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeEURhold_before_statehold_before_statusorder_currency_codeEURoriginal_increment_id100000200relation_child_idrelation_child_real_idrelation_parent_id180relation_parent_real_id100000200remote_ipshipping_methodups_GNDstore_currency_codeEURstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2017-06-30 + 12:35:40updated_at2017-06-30 + 12:35:40total_item_count2customer_gender1hidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax0.0000base_shipping_incl_tax0.0000coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amountcustomer_balance_amountbase_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsbase_gift_cards_amountgift_cards_amountbase_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receiptgw_add_cardgw_base_pricegw_pricegw_items_base_pricegw_items_pricegw_card_base_pricegw_card_pricegw_base_tax_amountgw_tax_amountgw_items_base_tax_amountgw_items_tax_amountgw_card_base_tax_amountgw_card_tax_amountgw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balancebase_reward_currency_amountreward_currency_amountbase_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id195shipping_addressparent_id195customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@example.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id383billing_addressparent_id195customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@example.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id382itemsitem_id596order_id195parent_item_idquote_item_id2473store_id1created_at2017-06-30 + 12:35:40updated_at2017-06-30 + 12:35:40product_id393product_typesimpleproduct_optionsa:1:{s:15:"info_buyRequest";a:5:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"393";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";d:1;s:7:"options";a:0:{}}}weight1.0000is_virtual0skuhde003nameMadison + RX3400descriptionapplied_rule_ids29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice715.0000base_price715.0000original_price715.0000base_original_price715.0000tax_percent9.0000tax_amount64.3500base_tax_amount64.3500tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total715.0000base_row_total715.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax779.3500base_price_incl_tax779.3500row_total_incl_tax779.3500base_row_total_incl_tax779.3500hidden_tax_amount0.0000base_hidden_tax_amount0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000item_id597order_id195parent_item_idquote_item_id2474store_id1created_at2017-06-30 + 12:35:40updated_at2017-06-30 + 12:35:40product_id396product_typesimpleproduct_optionsa:1:{s:15:"info_buyRequest";a:5:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"396";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";d:1;s:7:"options";a:0:{}}}weight1.0000is_virtual0skuhde006nameLarge + Camera Bagdescriptionapplied_rule_ids29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice120.0000base_price120.0000original_price120.0000base_original_price120.0000tax_percent9.0000tax_amount10.8000base_tax_amount10.8000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total120.0000base_row_total120.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax130.8000base_price_incl_tax130.8000row_total_incl_tax130.8000base_row_total_incl_tax130.8000hidden_tax_amount0.0000base_hidden_tax_amount0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id195base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount0.0000shipping_amount0.0000amount_paidamount_authorizedbase_amount_ordered910.1500base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered910.1500base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcashondeliverycc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id195status_historyparent_id195is_customer_notified0is_visible_on_front0commentstatuspendingcreated_at2017-06-30 + 12:35:40entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:37:29 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=bj11c5t70b58k2jtir2bitu9f1; expires=Fri, 30-Jun-2017 + 13:37:29 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 8854f74b72e4c5df303df2a9be4a1a81 + + + + + + customer.info + + + + + + + + 135 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id135created_at2013-05-16T06:16:11+02:00updated_at2017-06-30 + 12:35:40increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing91default_shipping91disable_auto_group_change0dobemailjohndoe@example.comfirstnameJohngender1group_id1lastnameDoemiddlenamepassword_hash60d0b6777081273c90d9dcf6342b18d511d539f5f119b56a364b2b0ff6dd29f1:O9hr8Lafe1STOCnJkp2ZHjFMrfM9plGnprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:37:29 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=502t7jn4hbkc2bh25ujtadd8g0; expires=Fri, 30-Jun-2017 + 13:37:29 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 8854f74b72e4c5df303df2a9be4a1a81 + + + + + + sales_order.get_parent + + + + + + + + 100000200 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['356'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 0'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:37:30 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=e1pcjbv7dnq6h1k0vg151bcbi4; expires=Fri, 30-Jun-2017 + 13:37:30 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 8854f74b72e4c5df303df2a9be4a1a81 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:37:31 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=vgs7a70g574dectus2hsjge880; expires=Fri, 30-Jun-2017 + 13:37:31 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/metadata.yaml b/connector_magento/tests/fixtures/cassettes/metadata.yaml new file mode 100644 index 000000000..cdc777e58 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/metadata.yaml @@ -0,0 +1,1671 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 84fb6f700118b43859a0f938a1f10a14'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=4ostfnto3le0om4t7kbmaf67u0; expires=Tue, 27-Jun-2017 + 11:58:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 84fb6f700118b43859a0f938a1f10a14 + + + + + + ol_websites.search + + + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['344'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 01'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=hsfjg2238k7fe01uu3uistb1h0; expires=Tue, 27-Jun-2017 + 11:58:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 0df6ac93beac792fcce2c2295895d25c'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=18q0v5u3ed8ucshbvava5tucp2; expires=Tue, 27-Jun-2017 + 11:58:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 0df6ac93beac792fcce2c2295895d25c + + + + + + ol_websites.info + + + + + + + + 0 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['336'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + website_id0codeadminnameAdminsort_order0default_group_id0is_default0is_staging0master_loginmaster_passwordvisibility'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=fj6neup6b10ciectcqbsdg1pq2; expires=Tue, 27-Jun-2017 + 11:58:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 0df6ac93beac792fcce2c2295895d25c + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ev9jjctcmqs8km4rdol0h3brq3; expires=Tue, 27-Jun-2017 + 11:58:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 624ae0b6a2da6f8b81d1663c5a5b438d'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=0hgd2mu7ihq0pddu7nokm14qs3; expires=Tue, 27-Jun-2017 + 11:58:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 624ae0b6a2da6f8b81d1663c5a5b438d + + + + + + ol_websites.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['336'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + website_id1codebasenameMain + Websitesort_order0default_group_id1is_default1is_staging0master_loginmaster_passwordvisibility'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=btkf3l1m7gofa66rrhaea6jol3; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 624ae0b6a2da6f8b81d1663c5a5b438d + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=5ig8570mrqpoku188hu8o0idu4; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 84fb6f700118b43859a0f938a1f10a14 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=rpnc19bfc5lbrjjmsh7bbqjtl6; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + ade882b9f64897f7e5f0db03690d59ea'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=1mrabepm3hu978nsf8kfbolc87; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + ade882b9f64897f7e5f0db03690d59ea + + + + + + ol_groups.search + + + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 01'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ip4gej1regp9690agd5ue6kce6; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 44e6259b47ee71c8b2917c30c171e63b'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=1b9pa2j75ubsub3ehfph1p9ei3; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 44e6259b47ee71c8b2917c30c171e63b + + + + + + ol_groups.info + + + + + + + + 0 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['334'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + group_id0website_id0nameDefaultroot_category_id0default_store_id0'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=8h8s3vjci7gaa7fpn17d4muc10; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 44e6259b47ee71c8b2917c30c171e63b + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=m2tunrbpc83ot0m584l3jnruo3; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 9bd710d1cd2f83a647fbee1c5e61911d'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=1kjke14mjeas9it56bs9qgulp2; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 9bd710d1cd2f83a647fbee1c5e61911d + + + + + + ol_groups.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['334'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + group_id1website_id1nameMadison + Islandroot_category_id2default_store_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:58:59 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=bj4rb4drphq47rttgo8rhl6ev4; expires=Tue, 27-Jun-2017 + 11:58:59 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 9bd710d1cd2f83a647fbee1c5e61911d + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=9uj5ip463rf71635c0o3g7uee7; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + ade882b9f64897f7e5f0db03690d59ea + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=8q8e75q3sp64s92nb9gpo26bf2; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1a5c064e81e10ced1dee4b230bb949ed'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=jcmoch99diga4c20pk1o9gmgt4; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 1a5c064e81e10ced1dee4b230bb949ed + + + + + + ol_storeviews.search + + + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['346'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 0123'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ca8h7sir8p15i59bn7hchg5kd0; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + cebcec419a7500dd467c3e53bae88e0b'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=h9n9r9obj302q4im7spkv9qmg6; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + cebcec419a7500dd467c3e53bae88e0b + + + + + + ol_storeviews.info + + + + + + + + 0 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['338'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + store_id0codeadminwebsite_id0group_id0nameAdminsort_order0is_active1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=jmhsdmfs8dnajkh6l571us8no6; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + cebcec419a7500dd467c3e53bae88e0b + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=3qourb8ks2hbc41ua7iotulrd4; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 43ffd47eea38f6bbfd5169f0b4abd7ff'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=jqda1bqchfe59c9gavg5cfmrv4; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 43ffd47eea38f6bbfd5169f0b4abd7ff + + + + + + ol_storeviews.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['338'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + store_id1codedefaultwebsite_id1group_id1nameEnglishsort_order0is_active1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=nemomopp559utd8mbc95nqntq2; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 43ffd47eea38f6bbfd5169f0b4abd7ff + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:00 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=q9of88l6vfrkgacbf0la4t1014; expires=Tue, 27-Jun-2017 + 11:59:00 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 40ae3673b6ff6c777058f4c05a07e8a6'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=sdh0i2dei5r14mjhra2mh1bbo0; expires=Tue, 27-Jun-2017 + 11:59:01 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 40ae3673b6ff6c777058f4c05a07e8a6 + + + + + + ol_storeviews.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['338'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + store_id2codefrenchwebsite_id1group_id1nameFrenchsort_order0is_active1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=s6si41avont5c0nvge9keb2tv5; expires=Tue, 27-Jun-2017 + 11:59:01 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 40ae3673b6ff6c777058f4c05a07e8a6 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=p4ihlaj2d9cg4ggf8ejfupmvu6; expires=Tue, 27-Jun-2017 + 11:59:01 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 269d4fb5af36afcc5a59f412c984e31b'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=hesh395lqan8d5hvlcrs3tclg6; expires=Tue, 27-Jun-2017 + 11:59:01 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 269d4fb5af36afcc5a59f412c984e31b + + + + + + ol_storeviews.info + + + + + + + + 3 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['338'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + store_id3codegermanwebsite_id1group_id1nameGermansort_order0is_active1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=6b7ur5n7vtc1vacbg0rd7anfr7; expires=Tue, 27-Jun-2017 + 11:59:01 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 269d4fb5af36afcc5a59f412c984e31b + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=165oe8g6gh4dqab3lj71am2gj0; expires=Tue, 27-Jun-2017 + 11:59:01 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 1a5c064e81e10ced1dee4b230bb949ed + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 10:59:01 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=f66j2m3i878t17tq9tflrcc9n2; expires=Tue, 27-Jun-2017 + 11:59:01 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_export_invoice.yaml b/connector_magento/tests/fixtures/cassettes/test_export_invoice.yaml new file mode 100644 index 000000000..6dd77853a --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_export_invoice.yaml @@ -0,0 +1,171 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + e5ca5651ce4c1b4f6df738fc62b17512'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:00:10 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=dgup92s1aplmk55i4lvegicqb6; expires=Mon, 10-Jul-2017 + 14:00:10 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e5ca5651ce4c1b4f6df738fc62b17512 + + + + + + sales_order_invoice.create + + + + + + + + 145000008 + + + + + + 598 + + 1.0 + + + + + + Invoice Created + + 1 + + 0 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['586'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 987654321'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:00:11 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=es95go20ti2mf0dq2j0b29ijj4; expires=Mon, 10-Jul-2017 + 14:00:10 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + e5ca5651ce4c1b4f6df738fc62b17512 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 13:00:11 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=98phoc9kkip3t7mgqakurd3gi5; expires=Mon, 10-Jul-2017 + 14:00:11 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_export_picking_complete.yaml b/connector_magento/tests/fixtures/cassettes/test_export_picking_complete.yaml new file mode 100644 index 000000000..7adc0cf94 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_export_picking_complete.yaml @@ -0,0 +1,163 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + a0310725164df95022657cdd6e5b10fa'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:25:44 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=9ordge0ntikmt57qicktgaj804; expires=Fri, 30-Jun-2017 + 16:25:44 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + a0310725164df95022657cdd6e5b10fa + + + + + + sales_order_shipment.create + + + + + + + + 100000201 + + + + + + Shipping Created + + 1 + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['516'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 987654321'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 12:37:31 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=vgs7a70g574dectus2hsjge880; expires=Fri, 30-Jun-2017 + 13:37:31 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + a0310725164df95022657cdd6e5b10fa + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 15:25:45 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=iq06s2uhh8kk4ro1oleem27rn2; expires=Fri, 30-Jun-2017 + 16:25:45 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_export_picking_partial.yaml b/connector_magento/tests/fixtures/cassettes/test_export_picking_partial.yaml new file mode 100644 index 000000000..14853ac9c --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_export_picking_partial.yaml @@ -0,0 +1,171 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 68a962f4df98a1de23b1c08ff55d462b'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 07 Jul 2017 15:02:20 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=u8pr5beipl3bvel1r0kbbgui87; expires=Fri, 07-Jul-2017 + 16:02:20 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 68a962f4df98a1de23b1c08ff55d462b + + + + + + sales_order_shipment.create + + + + + + + + 100000201 + + + + + + 543 + + 1.0 + + + + + + Shipping Created + + 1 + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['588'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 987654321'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 07 Jul 2017 15:02:20 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=iljcagpkcbkuo2gfhkqico2em5; expires=Fri, 07-Jul-2017 + 16:02:20 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 68a962f4df98a1de23b1c08ff55d462b + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 07 Jul 2017 15:02:20 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=iljcagpkcbkuo2gfhkqico2em5; expires=Fri, 07-Jul-2017 + 16:02:20 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_export_tracking_number.yaml b/connector_magento/tests/fixtures/cassettes/test_export_tracking_number.yaml new file mode 100644 index 000000000..fb99006a3 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_export_tracking_number.yaml @@ -0,0 +1,223 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 5a4bf06a0e2f9c6e185ca9a0164ee762'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 10:02:12 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ck9igvjl1gohh5knbvr30m9v12; expires=Mon, 10-Jul-2017 + 11:02:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 5a4bf06a0e2f9c6e185ca9a0164ee762 + + + + + + sales_order_shipment.getCarriers + + + + + + + + 100000201 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['366'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customCustom + ValuedhlDHL + (Deprecated)fedexFederal + ExpressupsUnited + Parcel ServiceuspsUnited + States Postal ServicedhlintDHL'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 10:02:12 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=rm176m05enre101f3pkgd70kt6; expires=Mon, 10-Jul-2017 + 11:02:12 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 5a4bf06a0e2f9c6e185ca9a0164ee762 + + + + + + sales_order_shipment.addTrack + + + + + + + + 100000035 + + ups + + + + XYZ + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['468'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 2'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 10:02:13 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=upa7dv7qo9547cpnaaack0uaq2; expires=Mon, 10-Jul-2017 + 11:02:13 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 5a4bf06a0e2f9c6e185ca9a0164ee762 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Mon, 10 Jul 2017 10:02:13 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=dvfs53tpc8lm788c8t3u07sip5; expires=Mon, 10-Jul-2017 + 11:02:13 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_existing_partner_category.yaml b/connector_magento/tests/fixtures/cassettes/test_import_existing_partner_category.yaml new file mode 100644 index 000000000..5eb8a5f1b --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_existing_partner_category.yaml @@ -0,0 +1,153 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1d04618f04cffa04f498608730778f4f'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 14:28:43 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=27skhhsojm8smh6s9m8kifbk81; expires=Tue, 27-Jun-2017 + 15:28:43 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 1d04618f04cffa04f498608730778f4f + + + + + + ol_customer_groups.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id2customer_group_codeWholesaletax_class_id5'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 14:28:43 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=m7su3fab1atubbm7ni69ur3t96; expires=Tue, 27-Jun-2017 + 15:28:43 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 1d04618f04cffa04f498608730778f4f + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 14:28:43 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=2te8i4ffrv1a43rtnf1a2c40d0; expires=Tue, 27-Jun-2017 + 15:28:43 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_partner_category.yaml b/connector_magento/tests/fixtures/cassettes/test_import_partner_category.yaml new file mode 100644 index 000000000..9503d100d --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_partner_category.yaml @@ -0,0 +1,153 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + ac3e731a923c9d85f61eb372fed6647a'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 14:28:44 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=cjd36ine3u378f3h4gle87umm5; expires=Tue, 27-Jun-2017 + 15:28:44 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + ac3e731a923c9d85f61eb372fed6647a + + + + + + ol_customer_groups.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id2customer_group_codeWholesaletax_class_id5'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 14:28:44 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=689e8s6euv0cp7r4e81gh2bnc2; expires=Tue, 27-Jun-2017 + 15:28:44 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + ac3e731a923c9d85f61eb372fed6647a + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 14:28:44 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=djpcqifae8olgrq2ccvqsuqll5; expires=Tue, 27-Jun-2017 + 15:28:44 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_partner_company_1_address.yaml b/connector_magento/tests/fixtures/cassettes/test_import_partner_company_1_address.yaml new file mode 100644 index 000000000..a9be8584c --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_partner_company_1_address.yaml @@ -0,0 +1,360 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + fe4be79beba04a604f88c985f58c774c'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:35:26 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tseb7lopg5nd1eh4ovg68v2du2; expires=Tue, 27-Jun-2017 + 16:35:26 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + fe4be79beba04a604f88c985f58c774c + + + + + + customer.info + + + + + + + + 104 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id104created_at2013-04-24T17:24:51+02:00updated_at2017-06-27 + 15:34:34increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing73default_shipping73disable_auto_group_change0dob1985-02-08 + 00:00:00emaildrew@example.comfirstnameDrewgender1group_id4lastnameFrancemiddlenamepassword_hash2350686c97788153d7b09cc73e6cd20155761a430030665c2aedad758e3553a4:fs6y1OSMqjnWQJ8jeJpdQV3xWajNbgbFprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:35:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=0v1d1mjph6mdfg8un0rhm1dpb2; expires=Tue, 27-Jun-2017 + 16:35:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + fe4be79beba04a604f88c985f58c774c + + + + + + ol_customer_groups.info + + + + + + + + 4 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id4customer_group_codeVIP + Membertax_class_id3'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:35:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=2r3c2o66g7cm56d53hdt34o492; expires=Tue, 27-Jun-2017 + 16:35:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + fe4be79beba04a604f88c985f58c774c + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 104 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['496'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id73created_at2013-04-24 + 13:24:51updated_at2017-06-27 + 15:34:34cityPariscompanyDrew + Francecountry_idFRfirstnameDrewlastnameFrancepostcode75008regionParisregion_id257streetLake + view sttelephone907-555-3209is_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:35:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=bt8dbvpfatt0r4crn1nqj6a2u4; expires=Tue, 27-Jun-2017 + 16:35:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + fe4be79beba04a604f88c985f58c774c + + + + + + customer_address.info + + + + + + + + 73 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id73created_at2013-04-24T15:24:51+02:00updated_at2017-06-27 + 15:34:34increment_idcityPariscompanyDrew + Francecountry_idFRfaxfirstnameDrewlastnameFrancemiddlenamepostcode75008prefixregionParisregion_id257streetLake + view stsuffixtelephone907-555-3209vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:35:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=v8fvo0ofu54t4ecj7f58np34n7; expires=Tue, 27-Jun-2017 + 16:35:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + fe4be79beba04a604f88c985f58c774c + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:35:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=3j1uem8f655vkoejvnhf1niq17; expires=Tue, 27-Jun-2017 + 16:35:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_partner_company_2_addresses.yaml b/connector_magento/tests/fixtures/cassettes/test_import_partner_company_2_addresses.yaml new file mode 100644 index 000000000..e3fadef34 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_partner_company_2_addresses.yaml @@ -0,0 +1,366 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 5da222aeadc7b792517002966717c50d'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:38:03 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=98pgpmk1gvjibu22r25b78ivi0; expires=Tue, 27-Jun-2017 + 16:38:03 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 5da222aeadc7b792517002966717c50d + + + + + + customer.info + + + + + + + + 99 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['334'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id99created_at2013-04-24T17:09:09+02:00updated_at2017-06-27 + 15:36:55increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing68default_shipping98disable_auto_group_change0dob1984-10-14 + 00:00:00emailclay@example.comfirstnameClaygender1group_id1lastnameLockmiddlenamepassword_hashf8ecdf1259a416f11d76d5af05417470919dbf67a27636ebf38e37ea637e7542:wAprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:38:03 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=42p7rb5lchh40ieig4r3vpg6s4; expires=Tue, 27-Jun-2017 + 16:38:03 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 5da222aeadc7b792517002966717c50d + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 99 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['495'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id68created_at2013-04-24 + 13:09:09updated_at2017-06-27 + 15:36:55cityMantolokingcompanyClay + Lockcountry_idUSfirstnameClaylastnameLockpostcode44025regionOhioregion_id47streetBride + Pathtelephone909-555-9078is_default_billing1is_default_shipping0customer_address_id98created_at2017-06-27 + 15:36:55updated_at2017-06-27 + 15:36:55cityMantolokingcompanyClay + Lockcountry_idUSfirstnameClaylastnameLockpostcode44025regionOhioregion_id47streetMay + Streettelephone909-555-9078is_default_billing0is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:38:03 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=5phmtaqdokm864e1g2vr3c73g1; expires=Tue, 27-Jun-2017 + 16:38:03 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 5da222aeadc7b792517002966717c50d + + + + + + customer_address.info + + + + + + + + 68 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id68created_at2013-04-24T15:09:09+02:00updated_at2017-06-27 + 15:36:55increment_idcityMantolokingcompanyClay + Lockcountry_idUSfaxfirstnameClaylastnameLockmiddlenamepostcode44025prefixregionOhioregion_id47streetBride + Pathsuffixtelephone909-555-9078vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping0'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:38:04 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=2l42krqome5e80ns783qobrs41; expires=Tue, 27-Jun-2017 + 16:38:03 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 5da222aeadc7b792517002966717c50d + + + + + + customer_address.info + + + + + + + + 98 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id98created_at2017-06-27T17:36:55+02:00updated_at2017-06-27 + 15:36:55increment_idcityMantolokingcompanyClay + Lockcountry_idUSfaxfirstnameClaylastnameLockmiddlenamepostcode44025prefixregionOhioregion_id47streetMay + Streetsuffixtelephone909-555-9078vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing0is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:38:04 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=oo9q61dabr9pgas88lf3q9naa2; expires=Tue, 27-Jun-2017 + 16:38:04 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 5da222aeadc7b792517002966717c50d + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:38:04 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=2e5ihjo28s5lk9554u634upkf6; expires=Tue, 27-Jun-2017 + 16:38:04 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_partner_individual_1_address.yaml b/connector_magento/tests/fixtures/cassettes/test_import_partner_individual_1_address.yaml new file mode 100644 index 000000000..e4ff19a70 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_partner_individual_1_address.yaml @@ -0,0 +1,299 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 6182b5cd383ebb2e8ee1ba951465b614'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:15:49 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=15gho1rd96eh0tsvek1173fkj4; expires=Tue, 27-Jun-2017 + 16:15:49 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 6182b5cd383ebb2e8ee1ba951465b614 + + + + + + customer.info + + + + + + + + 136 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id136created_at2013-05-16T06:20:45+02:00updated_at2014-05-03 + 21:36:47increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing92default_shipping92disable_auto_group_change0dobemailjanedoe@example.comfirstnameJanegendergroup_id1lastnameDoemiddlenamepassword_hash80f8bdf79491b99b8180a4e746046ea5:8huK4jwUrBIwUTnw3LuWKT9MzAQghb5zprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:15:49 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=triin6q745albcp7fh5nlvo651; expires=Tue, 27-Jun-2017 + 16:15:49 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 6182b5cd383ebb2e8ee1ba951465b614 + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 136 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['496'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id92created_at2013-05-17 + 01:20:45updated_at2014-05-03 + 21:36:47cityCulver + Citycountry_idUSfirstnameJanelastnameDoepostcode90232regionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200telephone888-888-8888is_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:15:49 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=k6kiuor3q8mr0m3ducr34mear4; expires=Tue, 27-Jun-2017 + 16:15:49 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 6182b5cd383ebb2e8ee1ba951465b614 + + + + + + customer_address.info + + + + + + + + 92 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id92created_at2013-05-17T03:20:45+02:00updated_at2014-05-03 + 21:36:47increment_idcityCulver + Citycompanycountry_idUSfaxfirstnameJanelastnameDoemiddlenamepostcode90232prefixregionCaliforniaregion_id12street10441 + Jefferson Blvd, Suite 200suffixtelephone888-888-8888vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:15:49 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=oisutchskul73hoj1er0805h22; expires=Tue, 27-Jun-2017 + 16:15:49 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 6182b5cd383ebb2e8ee1ba951465b614 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:15:49 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=42v02vkk3ns32bvv3qlnjo7pp4; expires=Tue, 27-Jun-2017 + 16:15:49 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_partner_individual_2_addresses.yaml b/connector_magento/tests/fixtures/cassettes/test_import_partner_individual_2_addresses.yaml new file mode 100644 index 000000000..3c27edc88 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_partner_individual_2_addresses.yaml @@ -0,0 +1,422 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + f1c65c52be0282b6ba023e290f223dbf'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:25:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=olokd6rimp3d9btt6mh9s9nn83; expires=Tue, 27-Jun-2017 + 16:25:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1c65c52be0282b6ba023e290f223dbf + + + + + + customer.info + + + + + + + + 65 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['334'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id65created_at2013-04-22T19:32:24+02:00updated_at2017-06-27 + 15:24:46increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billing35default_shipping97disable_auto_group_change0dob1980-01-01 + 00:00:00emailtay@example.comfirstnameTaygender1group_id4lastnameRaymiddlenamepassword_hashecc068bcc7d0ea6fed5f0697d7dff0433ed435232f388326e1be8e31625f29c2:lLprefixreward_update_notification1reward_warning_notification1rp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:25:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=m2k13o7of07ap1bm4sdikrlnj4; expires=Tue, 27-Jun-2017 + 16:25:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1c65c52be0282b6ba023e290f223dbf + + + + + + ol_customer_groups.info + + + + + + + + 4 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['343'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_group_id4customer_group_codeVIP + Membertax_class_id3'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:25:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=bg4ouki304p9ql7e6cagu2kp60; expires=Tue, 27-Jun-2017 + 16:25:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1c65c52be0282b6ba023e290f223dbf + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 65 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['495'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id35created_at2013-04-22 + 15:32:24updated_at2017-06-27 + 15:24:46cityMichigancountry_idUSfirstnameTaylastnameRaypostcode49036regionMichiganregion_id33streetCanal + Streettelephone666-555-4423is_default_billing1is_default_shipping0customer_address_id97created_at2017-06-27 + 15:24:46updated_at2017-06-27 + 15:24:46cityMichigancountry_idUSfirstnameTaylastnameRaypostcode49036regionMichiganregion_id33streetRiver + Streettelephone666-555-4423is_default_billing0is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:25:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=gsg458jn3hn2u8eld9sk1iptt4; expires=Tue, 27-Jun-2017 + 16:25:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1c65c52be0282b6ba023e290f223dbf + + + + + + customer_address.info + + + + + + + + 35 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id35created_at2013-04-22T17:32:24+02:00updated_at2017-06-27 + 15:24:46increment_idcityMichigancompanycountry_idUSfaxfirstnameTaylastnameRaymiddlenamepostcode49036prefixregionMichiganregion_id33streetCanal + Streetsuffixtelephone666-555-4423vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing1is_default_shipping0'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:25:35 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=vu8tbof449ilo7hfqjfh3jvp54; expires=Tue, 27-Jun-2017 + 16:25:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + f1c65c52be0282b6ba023e290f223dbf + + + + + + customer_address.info + + + + + + + + 97 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_address_id97created_at2017-06-27T17:24:46+02:00updated_at2017-06-27 + 15:24:46increment_idcityMichigancompanycountry_idUSfaxfirstnameTaylastnameRaymiddlenamepostcode49036prefixregionMichiganregion_id33streetRiver + Streetsuffixtelephone666-555-4423vat_idvat_is_validvat_request_datevat_request_idvat_request_successis_default_billing0is_default_shipping1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:25:35 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=i4n7ne6bntd6fa4ca9mlfv6g26; expires=Tue, 27-Jun-2017 + 16:25:35 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + f1c65c52be0282b6ba023e290f223dbf + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:25:35 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=nes287e2vh16jo80g0mhf9nbo2; expires=Tue, 27-Jun-2017 + 16:25:35 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_partner_no_address.yaml b/connector_magento/tests/fixtures/cassettes/test_import_partner_no_address.yaml new file mode 100644 index 000000000..a34b3f71b --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_partner_no_address.yaml @@ -0,0 +1,234 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + e4484473aef2390d2268967263e13fd9'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:13:46 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=b634vc2s3gbjrl8lbu9erb40o4; expires=Tue, 27-Jun-2017 + 16:13:46 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e4484473aef2390d2268967263e13fd9 + + + + + + customer.info + + + + + + + + 139 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['335'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + customer_id139created_at2017-06-27T17:13:08+02:00updated_at2017-06-27 + 15:13:08increment_idstore_id0website_id1confirmationcreated_inAdmindefault_billingdefault_shippingdisable_auto_group_change0dobemailbenjamin@example.comfirstnameBenjamingendergroup_id1lastnameLe + Goffmiddlenamepassword_hash023c5a9162fd33e5bec68cb4a590ab6b:7ldf1WHwGKStmpozbMYDfSkjhod2BkJNprefixreward_update_notificationreward_warning_notificationrp_tokenrp_token_created_atsuffixtaxvat'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:13:46 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ff2mr561gajgckt79iu95nq761; expires=Tue, 27-Jun-2017 + 16:13:46 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + e4484473aef2390d2268967263e13fd9 + + + + + + customer_address.list + + + + + + + + + + + + customer_id + + + + + + eq + + 139 + + + + + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['496'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + '} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:13:46 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=6ssbr01ol6mbkio5tng3shgv45; expires=Tue, 27-Jun-2017 + 16:13:46 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + e4484473aef2390d2268967263e13fd9 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Tue, 27 Jun 2017 15:13:46 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=scmkiiuud3gncu4humt4vr1fk0; expires=Tue, 27-Jun-2017 + 16:13:46 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_product.yaml b/connector_magento/tests/fixtures/cassettes/test_import_product.yaml new file mode 100644 index 000000000..3043a002b --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_product.yaml @@ -0,0 +1,222 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + beea7d6a40be57888f268f58a7ed793b'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 11:02:26 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=63bn0h59vtn20rfk6vrg7jv8f5; expires=Wed, 28-Jun-2017 + 12:02:26 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + beea7d6a40be57888f268f58a7ed793b + + + + + + ol_catalog_product.info + + + + + + + + 337 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id337skuace000set11typesimplecategories18websites1type_idsimplenameAviator + SunglassesdescriptionGunmetal + frame with crystal gradient polycarbonate lenses in grey. short_descriptionA + timeless accessory staple, the unmistakable teardrop lenses of our Aviator + sunglasses appeal to everyone from suits to rock stars to citizens of the + world.weight1.0000news_from_dateold_idnews_to_datestatus1url_keyaviator-sunglassesvisibility4country_of_manufactureurl_pathaviator-sunglasses.htmlcategory_ids18required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:17+01:00updated_at2013-03-20 + 16:45:10price295.0000group_pricespecial_pricespecial_from_dateminimal_pricespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricecolor15gender93material130luggage_sizeluggage_travel_stylebag_luggage_typeaccessories_sizeaccessories_typeEyewearluggage_style'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 11:02:26 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=u1vn7oa4rhsi82k680v609tv66; expires=Wed, 28-Jun-2017 + 12:02:26 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + beea7d6a40be57888f268f58a7ed793b + + + + + + product_media.list + + + + + + + + 337 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/a/c/ace000a_1.jpglabelposition1exclude0urlhttp://magento/media/catalog/product/a/c/ace000a_1.jpgtypesimagesmall_imagethumbnailfile/a/c/ace000b_1.jpglabelposition2exclude0urlhttp://magento/media/catalog/product/a/c/ace000b_1.jpgtypes'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 11:02:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=snj3nuimd46iuc7nge4usfu7b3; expires=Wed, 28-Jun-2017 + 12:02:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + beea7d6a40be57888f268f58a7ed793b + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 11:02:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=oo76pdd8pora9jsghrefdvl0o3; expires=Wed, 28-Jun-2017 + 12:02:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_product_bundle.yaml b/connector_magento/tests/fixtures/cassettes/test_import_product_bundle.yaml new file mode 100644 index 000000000..ca341c61e --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_product_bundle.yaml @@ -0,0 +1,5391 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 47f7a88eac3b9f145009f20485e38ce8'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:53 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=jpjoj12srut488b87248ph56b2; expires=Fri, 30-Jun-2017 + 10:53:53 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + ol_catalog_product.info + + + + + + + + 447 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id447skuhdb010set16typebundlecategories723websites1type_idbundlenamePillow + and Throw SetdescriptionIncludes + a choice between Titian Raw Silk Pillow or Shay Printed Pillow and our Carnegia + Alpaca Throw or Park Row Throw or Gramercy Throw. + + short_descriptionA + conveniently packaged pairing of our pillows and throws. + + weightnews_from_dateold_idnews_to_datestatus1url_keypillow-and-throw-setvisibility4country_of_manufactureurl_pathpillow-and-throw-set.htmlcategory_ids723required_options1has_options1image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T08:10:53+01:00updated_at2013-03-20 + 18:17:25price_type0sku_type0weight_type0shipment_type0pricegroup_pricespecial_pricespecial_from_dateminimal_pricespecial_to_datetier_pricemsrp_enabled0msrp_display_actual_price_typemsrptax_class_idprice_view0meta_titlemeta_keywordmeta_descriptioncustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricebed_bath_type184decor_type217home_decor_type191bedding_pattern_bundle_dataoptionsoption_id23required1position2typeselectdefault_titleDecorative + ThrowtitleDecorative + Throwselectionsselection_id88position0skuhdb007product_id383is_default0selection_price_typefixedselection_price_value0.0000selection_qty1.0000selection_can_change_qty1selection_id89position0skuhdb008product_id384is_default0selection_price_typefixedselection_price_value0.0000selection_qty1.0000selection_can_change_qty1selection_id115position0skuhdb009product_id385is_default0selection_price_typefixedselection_price_value0.0000selection_qty1.0000selection_can_change_qty1option_id24required1position1typeselectdefault_titleAccent + PillowtitleAccent + Pillowselectionsselection_id91position0skuhdb005product_id381is_default0selection_price_typefixedselection_price_value0.0000selection_qty1.0000selection_can_change_qty1selection_id92position0skuhdb006product_id382is_default0selection_price_typefixedselection_price_value0.0000selection_qty1.0000selection_can_change_qty1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:53 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=hh0b8qjddtdibqdlr31npj4jo1; expires=Fri, 30-Jun-2017 + 10:53:53 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + catalog_category.info + + + + + + + + 7 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id7is_active1position5level2parent_id2increment_idcreated_at2013-01-25T11:49:05+01:00updated_at2013-05-08 + 05:26:34nameHome + & Decorurl_keyhome-decorthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7all_children7,22,23,24,25path_in_storechildren22,23,24,25url_pathhome-decor.htmlchildren_count4display_modePAGElanding_page21is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:54 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=nsjr4ecn8mnjl0issmmd47kra6; expires=Fri, 30-Jun-2017 + 10:53:53 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:54 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=roh37am4u1h5ulqrhvdfcudge7; expires=Fri, 30-Jun-2017 + 10:53:54 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:54 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ikdpku0pmmjvjjltlk7pd94ta0; expires=Fri, 30-Jun-2017 + 10:53:54 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + catalog_category.info + + + + + + + + 23 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id23is_active1position2level3parent_id7increment_idcreated_at2013-01-25T12:08:31+01:00updated_at2013-03-05 + 07:17:38nameBed + & Bathurl_keybed-baththumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7/23all_children23path_in_storechildrenurl_pathhome-decor/bed-bath.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:54 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ie8nvog9k12s0tsbtbnafcj1s7; expires=Fri, 30-Jun-2017 + 10:53:54 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + ol_catalog_product.info + + + + + + + + 383 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id383skuhdb007set16typesimplecategories23websites1type_idsimplenameCarnegie + Alpaca ThrowdescriptionWoven + alpaca wool. 4" fringe detail. Dry clean. Imported.short_descriptionA + luxuriously soft throw made of long-fiber lambs wool woven into a Chevron + twill.weight1.0000news_from_dateold_idnews_to_datestatus1url_keycarnegie-alpaca-throwvisibility4country_of_manufactureurl_pathcarnegie-alpaca-throw.htmlcategory_ids23required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:19+01:00updated_at2013-03-20 + 17:16:45price275.0000group_pricespecial_pricespecial_from_dateminimal_pricespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricehomeware_style121material129bed_bath_type184decor_type217home_decor_type191color14bedding_patternSolid'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:55 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=lfovticf58r63c7o5bbias8kq0; expires=Fri, 30-Jun-2017 + 10:53:54 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + product_media.list + + + + + + + + 383 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hdb007_1.jpglabelposition1exclude1urlhttp://magento/media/catalog/product/h/d/hdb007_1.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:55 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=fon17ru0j9bpo69igufsbcua04; expires=Fri, 30-Jun-2017 + 10:53:55 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [close] + Host: [magento] + User-Agent: [Python-urllib/2.7] + method: GET + uri: http://magento/media/catalog/product/h/d/hdb007_1.jpg + response: + body: + string: !!binary | + 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 + AM811ecAUgsWAWWVVBF1oAAAAAAAAAGJqs4gsAWABYq1DWqAAAAAAAAAAGcZACxYABQq6tAAAAAA + AAAABjmAAVALAsqa3oAAAAAAAAAAASc43rGdZssAqBYG+gAAAAAAAAAAACZbMYgFSwsWC72AAAAA + AAAAAAAA54AoQFhd6oAAAAAAAAAAAABjOTcyVBUF60AAAAAAAAAAAAACZ1jEoKgt6UAAAAAAAAAA + AAAAROQFRb0oAAAAAAAAAAAAAACZcxYXpoAAAAAAAAAAAAAAAByyLvVAAAAAAAAAAAAAAAAJnm10 + oAAAAAAAAAAAAAAAAGGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//EABcBAQEBAQAA + AAAAAAAAAAAAAAABAgP/2gAIAQMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtiA + AAAAAAAAAAAAAAABdASQAAAAAAAAAAAAAAALoAEkAAAAAAAAAAAAAAAugABEgAAAAAAAAAAAAAC6 + AAAIyAAAAAAAAAAAAAGqAAACSAAAAAAAAAAAAAaoAAAAkgAAAAAAAAAAABdAAAAAMwAAAAAAAAAA + ADVsAAAAAJIAAAAAAAAAAAugAWAAAAIkAAAAAAAAAAGrYCwAAAAAkgAAAAAAAAADWiWACwAAAAJI + AAAAAAAAAGtCKCFgAAAAEyAAAAAAAAANaAAlQFgAAFgucgAAAAAAAADdAAAgAACwC5yAAAAAAAAA + LqgAAgCwABQmAAAAAAAAABboAAAgAAAmpcQAAAAAAAAFtpFAAAgCxYAsudYgAAAAAAACtApAKAAS + oAChFzkAAAAAAAK0AFlQFAASxZYLKSpUwAAAAAAAtUAAAAoAQpLKliyxXMAAAAAALaAAABYBQBLK + JYolllxAAAAAAFtLBYAAABKoAELFEsudYgAAAAANVRAAAAAAUAJUVBYXmAAAAALqgCAAAAABQAlh + UVLLzAAAAAuqAEAAAAAAKASwqFIwAAAALqgikssAAAAAAloCWWFlgmQAAAFugAJUBYAAAAAFBFli + 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 + headers: + accept-ranges: [bytes] + cache-control: [max-age=2592000] + connection: [close] + content-length: ['25054'] + content-type: [image/jpeg] + date: ['Fri, 30 Jun 2017 09:53:55 GMT'] + etag: ['"59429db3-61de"'] + expires: ['Sun, 30 Jul 2017 09:53:55 GMT'] + last-modified: ['Thu, 15 Jun 2017 14:46:11 GMT'] + server: [nginx/1.10.2] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + ol_catalog_product.info + + + + + + + + 384 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id384skuhdb008set16typesimplecategories2329websites1type_idsimplenamePark + Row ThrowdescriptionWoven + acrylic/wool/cotton. 50" x 75". Spot clean.short_descriptionA + rustic wool blend leaves our Park Row Throw feeling lofty and warm. Packs + perfectly into carry-ons.weight1.0000news_from_dateold_idnews_to_datestatus1url_keypark-row-throwvisibility4country_of_manufactureurl_pathpark-row-throw.htmlcategory_ids2329required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:19+01:00updated_at2013-04-09 + 04:32:00price240.0000group_pricespecial_price120.0000special_from_date2013-03-05 + 00:00:00minimal_pricespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricehomeware_style121material129bed_bath_type184decor_type217home_decor_type191color27bedding_patternpattern'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:55 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=6g9u3vrkhqioc3vg82n6srucl4; expires=Fri, 30-Jun-2017 + 10:53:55 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + catalog_category.info + + + + + + + + 29 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id29is_active1position4level3parent_id8increment_idcreated_at2013-01-25T12:12:07+01:00updated_at2013-05-06 + 04:17:34nameHome + & Decorurl_keyhome-decorthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/8/29all_children29path_in_storechildrenurl_pathsale/home-decor.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:55 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=htnnkherfubpnrt8f2bd2r7kp4; expires=Fri, 30-Jun-2017 + 10:53:55 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + catalog_category.info + + + + + + + + 8 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id8is_active1position6level2parent_id2increment_idcreated_at2013-01-25T11:49:50+01:00updated_at2013-05-15 + 22:49:33nameSaleurl_keysalethumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/8all_children8,26,27,28,29path_in_storechildren26,27,28,29url_pathsale.htmlchildren_count4display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update<reference> + + <remove name="right.poll"/> + + </reference>'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:55 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=g8ugp0f7q4u44n6lihsk81kpv0; expires=Fri, 30-Jun-2017 + 10:53:55 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + product_media.list + + + + + + + + 384 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hdb008_1.jpglabelposition1exclude1urlhttp://magento/media/catalog/product/h/d/hdb008_1.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:56 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=2jmv5ckjj463ttigqjcv4rcs05; expires=Fri, 30-Jun-2017 + 10:53:56 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [close] + Host: [magento] + User-Agent: [Python-urllib/2.7] + method: GET + uri: http://magento/media/catalog/product/h/d/hdb008_1.jpg + response: + body: + string: !!binary | + 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 + Pbl2WW5WCScAAAAHq46z0qms0ZuZx7ZzvjygvfV3Y1YueWsTPZzw121rnrj03x7s6RZYsnPkAAAB + vrmzpQqErjrn059ZPLkb79eesdMdctoxmZ1zzL6NacO3O78/pURZKS+fIAAAHomuHooualJzuOnH + ty1w5l116x0zmbx0jOmbmcd6d64dcN46pZUsSs680AAAB07+XvjppFuaheevJ6pzz158NY16d53w + 6ZvVy0489bc8t9Ommpm+b0uHbYlhFhwyAAADffl1x0Srms7lzw6r5vTnXPjrl6t2y4uNce6efA9E + 49O9VOHW4m9LFhBnTlzAAAA9HPXP0VLLFllxry+jLn1vHlqeu3Okwst4Xbnnd1q0TPm9F8/o3nSU + ynmdeTQAAAONdZ6nLpMZ78+XTpyy6ceuenD0XHHXP2UXOmLedXWWLjOXo8++MB6/NrbWOkxvz1z9 + OKAAAHKK74jpy1rn05duOuYWdd8benaqUHndLJnM10eX0ee8xY78uuV59+M6zDOufcAAATmlV6vK + 78859nkdZxA1PTxz076aSxTHPDVa3LOHN6vHAu8+ryvRz59c4mt5znsAAAMYK9vj3q8p6/LZ387F + B3THfh17NXOkrObZnm3m7xz7ea8ws9XA9PmejzXpnTj11igAAHPNHq82rrOO3Lrw7ct8lg305unL + t01prKaYi64TVtnDPbj380Kdefp428+mN8/Vrm1rhkAAAxkL1vGezyW+nyOmvOB0z6Mc3o5eg0mm + VUmLefHvnj17edjfPtjW9c51zw76zu5XXLkAAAeieffTHTF1npz68umNHCdscvRbZLjUulVJz1al + Sy1Yxw9OfP6poEsi3ObvHAAABqd8dOPcLmgMvL7Oe+HoSwznc3KYukllk2JZmTWbOllhFlvPTXLk + AAA3y9WLx9NgSrGnk78u/Hrz62zNgmpaxRZNSqJrM5t3h6ZYQGuWreOAAAHbd8nqztSTUsrLh2x1 + 8vq5dYVm5ubqW8OzOmJtZbKZ83qzx63ZCVKYm14ZAAA78fT5++OglBLmyeb1yef00liSzZeVjOml + mrAnLcz24d7LkWVeeehiuIAAdcdbzdLclArzds9PN6sbXNIQK5b3x5d6VaSyZ4975/SsIUvHWs71 + y4gABfVnnntNCwXNRw656cPRw7SrEliaKZnn67WllXPk9mcOlsEms7TnWrfPkAAN9M2am0udLFlz + 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 + tkIp9vTPdpGRO014ieyaEexj8SlUbK3bxrVjf8W2Psm9kOyf4kFbSH0f8SPQxEHuhkhOnZkexfjZ + kXT/AGF2yWrQtIh2ZPxIL0Sdz3NaIbgj0LY9IbqIvxMv4+ILRwtUZ5f8VFaJTajRLcbMT+VGX8rG + qSZaSEuQ/wAmR3AqqZPbIrircbuzV0ZBSukhMi/lvLkX4jX9j2RnWhyb0KXEi92dsxp2TuyEKVuL + 2PZVD0QZ7G1R0LSGMv0ZHpI/KVH46GxM5EtsxIyO3RjVKxp9En6EPxHs7NMfZLZDcaJbin+xFjV+ + Matk3boi9k43Nkloxv4kXehaQ2VaG0z8oEVbonkp0o5eWlPcj0fk7JRqO8T+VkvnOhwT01DkRSWl + JR9pXpTrojGvk5StkdyRJ0yYvjEbqJ9VItsapCjrk0n2lNe3I2z2YldiRxVj5MUa2/Vi/pJ7Iyoi + 7Y+yiTGSlqhOicrISSQ52WXZSSIw9vG6sStiS/ElK3XiK0eitCF2cqZfjGRd6Hr9pOvCdDlbsg1W + 3KxOnZGau257Oao6hZildopwV+INrrd2N2qIOMUSfLvEttkdyNPZv05UKLe3WtfGJKTfiLpon+Rl + ZL0ThySJRUdJnH+zdRSUU7GkzivD7MHRJ0i2c2RbkyTt0pOlx8xeySFMbvx3M0KCbOEWyS3Rxoiq + dedURaiSmlHUXfjpHoXQj2T78weySpjXJWv/AEduqIri7JSsoSoopCGrFpUcklSU3VHJ+04rt5L6 + c29fYuzJqRNWzIzG/RP8ivZX9cWttfl5eiKvvC1VE9rz+KoT4qxu/svpkl7IkpcTHG1bapkD2ZNS + GN7T+1o6YjjY/MmZF78x7Rk0xOhpS6/9tOSkOSpMk7dmOr3J2/Mm2kit35asUdC11z8QaTtuVuyc + k+vs/wCIpf1aZkjbIsm1VeL2ZlavxJC39ii319Je1FIk6Wo7Z68LeiS+PmCuRl78W0WpdtU6/wDj + OTqvvZpwpx6GrIpr7FkHkZbHK1QnQ5ujm6OTIz1vxj7Mvf8A9Um11/8Akn//xAAiEQEAAQMDBQEB + AAAAAAAAAAABYAAQMSAwQEFQcICQIRH/2gAIAQIBCT8A+tjpZHnSXJU99O4uku008AuUQB2zcbES + dtubLpYgzcs8o8kHHzGM8I/kUaeKWIs8Vu8bp3plTLnyi+o7TLWnaK/CzKGmmnURQ2iZfsrZGayV + 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 + UFFFHk9nmcZSNxJU0/gc7xrbo5l9Ev8A/9k= + headers: + accept-ranges: [bytes] + cache-control: [max-age=2592000] + connection: [close] + content-length: ['69281'] + content-type: [image/jpeg] + date: ['Fri, 30 Jun 2017 09:53:56 GMT'] + etag: ['"59429db3-10ea1"'] + expires: ['Sun, 30 Jul 2017 09:53:56 GMT'] + last-modified: ['Thu, 15 Jun 2017 14:46:11 GMT'] + server: [nginx/1.10.2] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + ol_catalog_product.info + + + + + + + + 385 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id385skuhdb009set16typesimplecategories23websites1type_idsimplenameGramercy + ThrowdescriptionWoven + cotton. 60" x 72". Machine wash.short_descriptionWrap + yourself in this incredibly soft and luxurious blanket for all climate comfort. + weight1.0000news_from_dateold_idnews_to_datestatus1url_keygramercy-throwvisibility4country_of_manufactureurl_pathgramercy-throw.htmlcategory_ids23required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:19+01:00updated_at2013-03-20 + 18:19:33price275.0000group_pricespecial_pricespecial_from_dateminimal_pricespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricehomeware_stylematerial125bed_bath_type184decor_type217home_decor_type191color15bedding_patternSolid'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:56 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tep5b2i8kfns9js0596jbuhpc4; expires=Fri, 30-Jun-2017 + 10:53:56 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + product_media.list + + + + + + + + 385 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hdb009_1.jpglabelposition1exclude1urlhttp://magento/media/catalog/product/h/d/hdb009_1.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:57 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=vcmorleafiueat5fm01817h3k3; expires=Fri, 30-Jun-2017 + 10:53:57 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [close] + Host: [magento] + User-Agent: [Python-urllib/2.7] + method: GET + uri: http://magento/media/catalog/product/h/d/hdb009_1.jpg + response: + body: + string: !!binary | + /9j/4AAQSkZJRgABAQAAAAAAAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkz + ODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2Nj + Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAI1A1EDAREA + AhEBAxEB/8QAGwABAAMBAQEBAAAAAAAAAAAAAAIDBAEFBgf/2gAIAQEAAAAA/QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzoAAAAAAAAAAAAAAAAA50AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + DgAA6AAAADldXZcnIjXLseR7XbzkJc7KUU3ThCfXOOu8j3sYxhCNU5RlmRrvZNUpQo2Rlbd2y6QA + AARw5Yy7kshZzi+utGu+ynkkatneZ9EbI8pshXzVnlGeiNNtGjJZZLBLZlupqnKzBrrpjqhLLZdT + ZZOnvperaAAAhW8ujlWjJ3Jtshlstx3XRhfQzaerbs3b6qqNVWzNTbOhGvXo8zbXym26MITu4szd + 5j21co0w5TenOuMqPS3ex0AAFWPHVlr0VasejPOcO5Z97yyc45e1apa6o5dE9WOjmnJKN1VXK9jL + tZ+LO0WX1V9slXyp2iy+zDzRLmitmn6D6K0AAOeNXi1ZO35rc863Z25LKtEVcqavQhTZdbj5pz+l + 5VOylTex3UbLqULK72jHnnulmhGFmvJVZGNuzB6Hn5/Us86yWP0rva3AABz5y7Hp8y3XGurb5Vkp + 4578vZ0xlynVDTn15rKblvn235tGSzRmsybbK4W1dsqxelgNmHfLPXp7TZn1013qo6KbKaubNHr+ + mAAHPnqOb/Nhphmusz8r5bTfbCqWe+yyrz56+6Izv8/saN9mDN6tefb5VrVKtTshGWOdnfN9Sym2 + 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 + cShKPZU29pQ5py2x5fzLpqhyu+dOqNHLYz8z0O0TjLJvnCN2G2zDL0qI0921z5kldkso7bVopnfi + tng3s1/PQh7d4Cvz13m1z5NOiRDVVPmezsew0VTjGqu3uPP6VvZRqyeb7POVTu83Xfiv1wrhh9RT + HvbOV97dRDUh3z9Gqmd/m+tRn5b2mPc+/b6WkCvzGijzdtEL4zrhdHt0s1Wa+6yq6qjbXCGXYzef + t2zpsjXl1Vdp1cyehfk256I9x6JSlh9CqHc2j0/I112aMcb65XU4/R5RKV1FPcPqW7fU6HPOp7f5 + 1c6ZXdhVRo211TjWtnTVfVolkjbyHKYUejoVU3RjrhRfHF3Vi9bO4rlGcKdFFna4a8ujNbZm2Vyw + ejXZzsIV6pY9WK/Rp9joUeTl9GrzJba6JSlCXNOOxfllZC/ydde67BOPO3Z7KrNWedcrct0YVX47 + /Q8rfVm2Qo2dz21XZFkssoTujfj1Zr4aKbs9tduPrQvztfs2Dnm4M3qU+Vr5ZXq7n5dG6u2vmfVX + ONWee2qNkO1ZrN1EdEIxlozyhfDmWGnzvSspnCjVRbCOiMZrKeIzuzX1SqnO3ztWXVTHu7NolVr9 + DSM3k492zzvO3O2TmotlRZOcKc8rp1Qp9CiELOQuzaJx11+fshZi9HN2MId0+X6lMJxzz5bZmjvq + z36MtC27Vjq0cpnOzJLtlmC9X6VV/duseHh76vPMshfdU7KNkY85zPbyV2e2+NdNV9F2bfjuO9rv + qvjKvtUq6d+L0cXbKcuiMdOTX2Na3JovhHbmyWWZ7mW6cpR7Ku2U4S2+h0+Zp9G/FKqbse12XSpu + rqvhVdfmpvtqj3DpnyU+5cG2dOpXprnGnllMZRaq9GXl+CdvbLPO0aMNW3mbVr8ezXLz7ZVaENVU + qbZS5bTs9Xp//8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAIAQIQAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAEoRZRKEWWFCFgUJQAAAAAAgLLKlQAACwAACwAsUAlAAAABAAssAAAAAA + FgAKSgAAAAEqCwAAAAAAACwLLAqWUAWAAAJSWAWAAAAAAAAABZSUCwAABKgAAAAAAAAACyyyyxQB + YAAAlgqAAAAAAAAsLAFAACwAAASywAAAAAAAAsACyxSUAAAASpYAACwAAAAAWFiwWCgAsAABLKIL + AAWAAAAAALAUJQAWAAACUSwAWAAAAAAACywoACwAAACWWBZYFgAAAACwAWFikoWUgAAACACwsAAA + AAAAWLFlALFQAAABKJUAsAAAAAAAFSyhYWKgAAAARZYsWAAAAAsAAWLFlACkAAAAEogLAAAAAAAA + CglAqAAAAJULBYAAAAAAAAqUACkAAAAEsqAAAAAAAALAsUCVYqAAAABAAAAAAAAAAKAAWAAAAASo + AAAAAAAAAsKALLAAAAAJYAAAAAAACwCwoAsAAAAACFgAAAAAAAABQAsAAAAAIAAAAAAAAAFigBYA + AAAAgALAAAAAAAAWKAAAAAAEqKgAAAAAAAAWLFAAAAAACVAAAAAAAAAAFEoAAAAAEAAAAAAAABYs + oAAAAAASgSkACwpKAELABZQAAAAAAAEoAAABAAAAAAALFSgAAABFECyywAAJRKAAAAACxYoAAAEA + AAABKlBKAAJQABUFAAAARYAAAAAJUUCKAAAAFlAAAAiwAAAAASgAAAAAAKAAABAAAAAASgAAAAAB + YFAAAEAAAAAAAAAAACwABQAACAAAAAAAAAAAAWBYFAAAIAAAAAAAAAAAAAAUAAAhYAAAAAAAACUA + AAAoAACAAAAAAAAAAAAAABQAAQAAAAAAAACUAAAAAoAAIAAAAAAAAAAAAAFhYoAAgAAAAAAAAAAA + AAKiooABAAAAAAAAAAAAAALCygACAAAAAAAAABKAAABYssoACBUAAAAFgAAAAAAAAFigAgAAAAAA + AAAAAAAAAUAiwAAAAAAAAAAAAAABYoCFgAAAAAAAAAAAAAAAUBAAAAAAAAAAAAAAAAssoCKgAsAA + AAAAAAAAAAFQqKCKgALAAAAAAAAAAFgABYsoIqFlQVALLAAAAAAAAAAAFgKH/8QAFQEBAQAAAAAA + AAAAAAAAAAAAAAH/2gAIAQMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAWAAAAAAAAAAAAWLBYAALAVABYLAAAAAAAAACwsACwAAAFgAAAAAAAAALLAWWAAs + AAALAAAAAAAAAAFgWLAAAFgAAAAAAAAAAAAsCywLAAAAAAAAAAAAAAAFgsWAAsAAAAAAAAAAAAAA + sUgAAAAAAAAAAAFgAAAVKikWAAsWAAAAAAAAAAAAAFSpZYsLAAAAAAAABZYBYWAAABZZUsWAAsAA + AAAAAVBYWAWAAAKSypUsqWWFgCwAAAAFgWAKRYsAAAUBKhZUsKgAAAAAsLCxYAqBYAAApFllQWWB + YAAABYAAAsAUgsAABYoJZZZYsAWAAAAACwBZYUlCWAAAFlSxZZUAKgCxYAAWABYUQVKgsAAAKSoW + CxYLKgAAABYAFhUAssLAAABSUlJYVLBYAAAAAACwAsWFgAAALLBUsAsssBYAAAAAFioUhRAAAAsW + WWFlgBZYAAFiwAABZYKJYAAAALFQAALAAALFgBSAKgUEAAAALAWWAAWWAAAAWAsLAsAqWVAAAAsF + iyyyyoCwFgLAsABYFRZZYFIsAAAAsKgApCpYsAAUgBUBYpLKAgAAAAsVFgKEUSwspLFBFlgpBYKE + oCAAABYKlRQhUqUIqKlIoiosUQVFJZQIAAACoqUhQAlIAAAAAAAAKgAAAKSkpAAAAAAAAAAAAAAA + AUEAKgAAAAAAAAAAAAAALKgAAAAAAAAAAAAAAAAKEAAAAAAAAAAAAAAAABQSwAAAAsqAAWFgVAAF + AQAABQAASgAABKAACUSiKAAQAACgAAAAAALAAAACUAAQAAFAAAAAAAAAAAAASgIAACrCwAAAAAAA + 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 + pWHuijJSpaq9SF+Ds6nN77GH2jKXCfCKZqnk1X1FfhdibPkWw7uWNXbKbUr4KR3NhLInVTTKO0iG + tmWUVfuVQnT77lESuTS7Pcppj2O0UulLBQobqWSb9R0w49xOCqry07rgrqeqhOyR6bWRXT4WztI/ + +0dPiZW4hMatSngvpb6Gh6Zcr3KHdnZ3pRXZtfuUVRQyq11IrQin1RsU+Ur8WlOWyqyj0lVKldCt + WdMCqshLS6eSlqrmTairJEakPErKKq70LcrE81cmmKkjKO1qimolVJlPhjqUNKroVJy2imrGzQ9n + kSmlREnzI1XfJVka8XUqVtLKLqp7dSiq1WJFtBqiod4RGqP7pGtynjNRd9oqShSlJSphqzKZRWij + ZHaJxGJHSvLbBU58LKqr3uVVaXRG3JOmtVcclSnSnGnkpiEjT4V1KuolNSQ1uYtt7FG/PwaGhSvy + NurU/wDnUTtWyMDpvTyUumaympp7FdElKdNRmUrtjz1G51Tgp2+bgTldR29ium2nkoWVyWcM8tdE + bCqmlPYmCit00tbjoapfQdnRuOHVt9CEnSxqXbcTl9LmtNyroVU6lgvMO7KrUxYTalEeGaclVGET + pnoVRnZlSxUbrgTi6n8HY0q0CFiMyZfuOlSyl6k2Kp6V7FS8EZK6lNsMVcxUUWb59yhZTydnTpXU + jBtQypJQngczUiqhSVW7ScnZqaWhUyki1VV+Rt5G51LI0nKsaZgXhqsS3OVBpmSmm+l/ki7W5Qkk + /c8udyISwjHZuOVcTlLkXpK3Mt4H+Spbs05KXpsW022FVK6rdGVBTh/CI3FI6nJTeqLwadSq2ZTR + CG4b2E4X+omsjdjs7RGRpttbMXn1VHqZq1av3FV4nmCX9CvxIcVWKqYdM3Ozc+5Q1qT5KLzQhPSu + o6pc4Z20Qp/JdVSdo5qasVvTjYxMmqZT/BN6tOGUQkyG85RRZfgaUzv7FXhpjctDSwbpXHLSgfic + KGRlLJZVKRUuGjS9L5ZEVVoca75HVdi8PSCnjElNUt0+ZmpzTjUNTT7FG6WRNamlcT+bYptf8DxJ + Hg1jUNQYqEonkqUKPfBVbxVXkb8TWxV4aVwOmJfA5pdxS0pz0H2eeRU/UoXnFZvqT9hXlFFmk7r2 + KXArQJzTSN44HU85gb1e58r3sdEVWmMF+iRx8Msmy2QpUjnTYzNVoO0sxOPr/wAY64/3E9SaWw4d + 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 + headers: + accept-ranges: [bytes] + cache-control: [max-age=2592000] + connection: [close] + content-length: ['69062'] + content-type: [image/jpeg] + date: ['Fri, 30 Jun 2017 09:53:57 GMT'] + etag: ['"59429db3-10dc6"'] + expires: ['Sun, 30 Jul 2017 09:53:57 GMT'] + last-modified: ['Thu, 15 Jun 2017 14:46:11 GMT'] + server: [nginx/1.10.2] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + ol_catalog_product.info + + + + + + + + 381 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id381skuhdb005set16typesimplecategories23websites1type_idsimplenameTitian + Raw Silk Pillowdescription20" + x 20". Raw Silk. Hidden zipper closure. Interior pillow included. 100% + polyester fill. Dry clean. Imported.short_descriptionAn + exquisite home accent, our bazaar inspired raw silk square pillow is a statement + in luxury. Interior pillow included.weight1.0000news_from_dateold_idnews_to_datestatus1url_keytitian-raw-silk-pillowvisibility4country_of_manufactureurl_pathtitian-raw-silk-pillow.htmlcategory_ids23required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:19+01:00updated_at2013-05-16 + 20:17:56price125.0000group_pricespecial_pricespecial_from_dateminimal_pricespecial_to_datetier_priceprice_id47website_id0all_groups1cust_group32000price110.0000price_qty2.0000website_price110.0000price_id48website_id0all_groups1cust_group32000price100.0000price_qty3.0000website_price100.0000msrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer2gift_message_availablegift_wrapping_availablegift_wrapping_pricehomeware_stylematerial126bed_bath_type184decor_type217home_decor_type191color19bedding_patternSolid'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:57 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=45bhlb1idduamllnpvnhc7an97; expires=Fri, 30-Jun-2017 + 10:53:57 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + product_media.list + + + + + + + + 381 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hdb005_1.jpglabelposition1exclude1urlhttp://magento/media/catalog/product/h/d/hdb005_1.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:57 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=bnabrcn65ks35ev9866ipuihn0; expires=Fri, 30-Jun-2017 + 10:53:57 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [close] + Host: [magento] + User-Agent: [Python-urllib/2.7] + method: GET + uri: http://magento/media/catalog/product/h/d/hdb005_1.jpg + response: + body: + string: !!binary | + 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 + headers: + accept-ranges: [bytes] + cache-control: [max-age=2592000] + connection: [close] + content-length: ['17074'] + content-type: [image/jpeg] + date: ['Fri, 30 Jun 2017 09:53:57 GMT'] + etag: ['"59429db3-42b2"'] + expires: ['Sun, 30 Jul 2017 09:53:57 GMT'] + last-modified: ['Thu, 15 Jun 2017 14:46:11 GMT'] + server: [nginx/1.10.2] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + ol_catalog_product.info + + + + + + + + 382 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id382skuhdb006set16typesimplecategories23websites1type_idsimplenameShay + Printed Pillowdescription20" + x 20". Printed polyester. Hidden zipper closure. Interior pillow included. + 100% polyester fill. Spot clean. Imported.short_descriptionA + distinctive printed pillow that fills any room with classic appeal.weight1.0000news_from_dateold_idnews_to_datestatus1url_keyshay-printed-pillowvisibility4country_of_manufactureurl_pathshay-printed-pillow.htmlcategory_ids23required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:19+01:00updated_at2013-03-20 + 18:18:01price210.0000group_pricespecial_pricespecial_from_dateminimal_pricespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricehomeware_style120material130bed_bath_type184decor_type217home_decor_type191color13bedding_patternPrint'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=p1mnj4v45hnmh3riq36526hhr2; expires=Fri, 30-Jun-2017 + 10:53:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + product_media.list + + + + + + + + 382 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hdb006_1.jpglabelposition1exclude1urlhttp://magento/media/catalog/product/h/d/hdb006_1.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=kkr82p2l0k3vjel7tk9vgoaa84; expires=Fri, 30-Jun-2017 + 10:53:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [close] + Host: [magento] + User-Agent: [Python-urllib/2.7] + method: GET + uri: http://magento/media/catalog/product/h/d/hdb006_1.jpg + response: + body: + string: !!binary | + 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 + headers: + accept-ranges: [bytes] + cache-control: [max-age=2592000] + connection: [close] + content-length: ['53231'] + content-type: [image/jpeg] + date: ['Fri, 30 Jun 2017 09:53:58 GMT'] + etag: ['"59429db3-cfef"'] + expires: ['Sun, 30 Jul 2017 09:53:58 GMT'] + last-modified: ['Thu, 15 Jun 2017 14:46:11 GMT'] + server: [nginx/1.10.2] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 47f7a88eac3b9f145009f20485e38ce8 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:53:58 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=612otjllfh5ju2o0va2l0ob4v6; expires=Fri, 30-Jun-2017 + 10:53:58 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_product_category.yaml b/connector_magento/tests/fixtures/cassettes/test_import_product_category.yaml new file mode 100644 index 000000000..05ff2b188 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_product_category.yaml @@ -0,0 +1,155 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + ff254f0ed5cf6588a73c68f79aa4f472'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:51:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=mecpan1kidld8bjef2srkocjb1; expires=Wed, 28-Jun-2017 + 11:51:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + ff254f0ed5cf6588a73c68f79aa4f472 + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:51:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=bon8d709pvqrh1pfrgomgkh7a4; expires=Wed, 28-Jun-2017 + 11:51:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + ff254f0ed5cf6588a73c68f79aa4f472 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:51:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ohbarhhtp6p6g22ntgdtjua8q3; expires=Wed, 28-Jun-2017 + 11:51:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_product_category_missing.yaml b/connector_magento/tests/fixtures/cassettes/test_import_product_category_missing.yaml new file mode 100644 index 000000000..be06cf9e1 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_product_category_missing.yaml @@ -0,0 +1,465 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 557567b0d37d7436eb27f741db46fde8'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 15:28:31 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=bl0udj8i4u2e6n9n1qp7ok03j7; expires=Wed, 28-Jun-2017 + 16:28:31 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 557567b0d37d7436eb27f741db46fde8 + + + + + + ol_catalog_product.info + + + + + + + + 382 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id382skuhdb006set16typesimplecategories23websites1type_idsimplenameShay + Printed Pillowdescription20" + x 20". Printed polyester. Hidden zipper closure. Interior pillow included. + 100% polyester fill. Spot clean. Imported.short_descriptionA + distinctive printed pillow that fills any room with classic appeal.weight1.0000news_from_dateold_idnews_to_datestatus1url_keyshay-printed-pillowvisibility4country_of_manufactureurl_pathshay-printed-pillow.htmlcategory_ids23required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T06:48:19+01:00updated_at2013-03-20 + 18:18:01price210.0000group_pricespecial_pricespecial_from_dateminimal_pricespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptionis_recurring0recurring_profilecustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_pricehomeware_style120material130bed_bath_type184decor_type217home_decor_type191color13bedding_patternPrint'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 15:28:31 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=204sco5kcjtrbvot9rbbtadds4; expires=Wed, 28-Jun-2017 + 16:28:31 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 557567b0d37d7436eb27f741db46fde8 + + + + + + catalog_category.info + + + + + + + + 23 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id23is_active1position2level3parent_id7increment_idcreated_at2013-01-25T12:08:31+01:00updated_at2013-03-05 + 07:17:38nameBed + & Bathurl_keybed-baththumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7/23all_children23path_in_storechildrenurl_pathhome-decor/bed-bath.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 15:28:31 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ecrlbdndat8ckrg3veaqts44t3; expires=Wed, 28-Jun-2017 + 16:28:31 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 557567b0d37d7436eb27f741db46fde8 + + + + + + catalog_category.info + + + + + + + + 7 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id7is_active1position5level2parent_id2increment_idcreated_at2013-01-25T11:49:05+01:00updated_at2013-05-08 + 05:26:34nameHome + & Decorurl_keyhome-decorthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7all_children7,22,23,24,25path_in_storechildren22,23,24,25url_pathhome-decor.htmlchildren_count4display_modePAGElanding_page21is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 15:28:31 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=klh4ugh75altccn6hv4b27a142; expires=Wed, 28-Jun-2017 + 16:28:31 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 557567b0d37d7436eb27f741db46fde8 + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 15:28:32 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=s0qtf18one8r5n3715nhgpa1o2; expires=Wed, 28-Jun-2017 + 16:28:31 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 557567b0d37d7436eb27f741db46fde8 + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 15:28:32 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=goj4tp90c2lv3e3o8i0q8v8sl5; expires=Wed, 28-Jun-2017 + 16:28:32 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 557567b0d37d7436eb27f741db46fde8 + + + + + + product_media.list + + + + + + + + 382 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/h/d/hdb006_1.jpglabelposition1exclude1urlhttp://magento/media/catalog/product/h/d/hdb006_1.jpgtypesimagesmall_imagethumbnail'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 15:28:33 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=p1vh7c4fgjhd4836hp4lkin9m2; expires=Wed, 28-Jun-2017 + 16:28:33 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 557567b0d37d7436eb27f741db46fde8 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 15:28:33 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=juakjv0pe8om91ufi4td386h82; expires=Wed, 28-Jun-2017 + 16:28:33 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_product_category_with_gap.yaml b/connector_magento/tests/fixtures/cassettes/test_import_product_category_with_gap.yaml new file mode 100644 index 000000000..15bca859a --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_product_category_with_gap.yaml @@ -0,0 +1,340 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 4f089e26a960d80b34d88dd20e63345a'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:55:50 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=vad90q2qp5nlu0g9njo91t7gi7; expires=Wed, 28-Jun-2017 + 11:55:50 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 4f089e26a960d80b34d88dd20e63345a + + + + + + catalog_category.info + + + + + + + + 26 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id26is_active1position1level3parent_id8increment_idcreated_at2013-01-25T12:10:39+01:00updated_at2013-05-06 + 04:17:00nameWomenurl_keywomenthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/8/26all_children26path_in_storechildrenurl_pathsale/women.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:55:51 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=206ch91fbpsl98t8iouh4mpjo5; expires=Wed, 28-Jun-2017 + 11:55:51 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 4f089e26a960d80b34d88dd20e63345a + + + + + + catalog_category.info + + + + + + + + 8 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id8is_active1position6level2parent_id2increment_idcreated_at2013-01-25T11:49:50+01:00updated_at2013-05-15 + 22:49:33nameSaleurl_keysalethumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/8all_children8,26,27,28,29path_in_storechildren26,27,28,29url_pathsale.htmlchildren_count4display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update<reference> + + <remove name="right.poll"/> + + </reference>'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:55:51 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=2c7smqbbpo55oeug0m22nb1sh0; expires=Wed, 28-Jun-2017 + 11:55:51 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 4f089e26a960d80b34d88dd20e63345a + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:55:51 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=h5225hnq0l3qubt3ecrtin4fu3; expires=Wed, 28-Jun-2017 + 11:55:51 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 4f089e26a960d80b34d88dd20e63345a + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:55:51 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=39g06rhfqj875s7dv1b11ql6r2; expires=Wed, 28-Jun-2017 + 11:55:51 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 4f089e26a960d80b34d88dd20e63345a + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Wed, 28 Jun 2017 10:55:51 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ra23ecam3i1p8dbqc701h4toa3; expires=Wed, 28-Jun-2017 + 11:55:51 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_product_configurable.yaml b/connector_magento/tests/fixtures/cassettes/test_import_product_configurable.yaml new file mode 100644 index 000000000..627f64b13 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_product_configurable.yaml @@ -0,0 +1,159 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + aacec9e6bc212b7a608133f802c4b11a'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:51:54 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=6f2nu545eno5j3lot6gjobfdc6; expires=Fri, 30-Jun-2017 + 10:51:53 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + aacec9e6bc212b7a608133f802c4b11a + + + + + + ol_catalog_product.info + + + + + + + + 408 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id408skumtk000cset13typeconfigurablecategories16websites1type_idconfigurablenameChelsea + TeedescriptionUltrasoft, + lightweight V-neck tee. 100% cotton. Machine wash.short_descriptionMinimalist + style and maximum comfort meet in this lightweight tee.news_from_dateold_idnews_to_datestatus1url_keychelsea-teevisibility4country_of_manufactureurl_pathchelsea-tee-701.htmlcategory_ids16required_options1has_options1image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-05T07:25:10+01:00updated_at2013-03-20 + 18:47:44price75.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datetier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id2meta_titlemeta_keywordmeta_descriptioncustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availablegift_wrapping_priceoccasion31apparel_type40sleeve_length46fit51gender93'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:51:54 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ccmm8eo5ehkv94nr3b2r052k65; expires=Fri, 30-Jun-2017 + 10:51:54 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + aacec9e6bc212b7a608133f802c4b11a + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:51:54 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=8t12tkivkmnbdf078tifledjd2; expires=Fri, 30-Jun-2017 + 10:51:54 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_product_grouped.yaml b/connector_magento/tests/fixtures/cassettes/test_import_product_grouped.yaml new file mode 100644 index 000000000..f755c863b --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_product_grouped.yaml @@ -0,0 +1,402 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + cdee9577bed4f32709963a9163ee2e3c'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:54:38 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=qfaueolgu6tvtgradtifui5rg5; expires=Fri, 30-Jun-2017 + 10:54:38 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + cdee9577bed4f32709963a9163ee2e3c + + + + + + ol_catalog_product.info + + + + + + + + 555 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id555skuacj007set17typegroupedcategories19websites1type_idgroupednamePearl + Necklace SetdescriptionAA& + quality 6.0-6.5mm pearls. Double knotted on silk thread. 24" strand. + 14K gold hook-and-eye clasp. Made in Indonesia.short_descriptionFresh + Water Pearl Necklacesnews_from_dateold_idnews_to_datestatus1url_keypearl-necklace-set-testvisibility4country_of_manufactureIDurl_pathpearl-necklace-set-test.htmlcategory_ids19required_options0has_options0image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-19T19:37:46+01:00updated_at2013-03-19 + 22:36:21meta_titlemeta_keywordmeta_descriptioncustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutoptions_containercontainer2gift_message_availablegift_wrapping_availablegender94'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:54:38 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=50jh3e97i0tucntojlqusrgb81; expires=Fri, 30-Jun-2017 + 10:54:38 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + cdee9577bed4f32709963a9163ee2e3c + + + + + + catalog_category.info + + + + + + + + 19 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id19is_active1position2level3parent_id6increment_idcreated_at2013-01-25T12:05:03+01:00updated_at2013-03-05 + 07:16:42nameJewelryurl_keyjewelrythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/6/19all_children19path_in_storechildrenurl_pathaccessories/jewelry.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutthree_columnscustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:54:38 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=00monbrpd30rhongauki2ahh54; expires=Fri, 30-Jun-2017 + 10:54:38 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + cdee9577bed4f32709963a9163ee2e3c + + + + + + catalog_category.info + + + + + + + + 6 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id6is_active1position4level2parent_id2increment_idcreated_at2013-01-25T11:47:41+01:00updated_at2013-12-25 + 12:28:34nameAccessoriesurl_keyaccessoriesthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/6all_children6,18,19,20,21path_in_storechildren18,19,20,21url_pathaccessories.htmlchildren_count4display_modePAGElanding_page17is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:54:38 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ql6lo0j4iipebivct836aj43l1; expires=Fri, 30-Jun-2017 + 10:54:38 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + cdee9577bed4f32709963a9163ee2e3c + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:54:39 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=mgu6d8b1540hdjjps3o6nhr405; expires=Fri, 30-Jun-2017 + 10:54:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + cdee9577bed4f32709963a9163ee2e3c + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:54:39 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=l54d71aen06gicr92rdso11p52; expires=Fri, 30-Jun-2017 + 10:54:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + cdee9577bed4f32709963a9163ee2e3c + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:54:39 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=k4f0ua474inh8spa8og5onhs53; expires=Fri, 30-Jun-2017 + 10:54:39 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_import_product_virtual.yaml b/connector_magento/tests/fixtures/cassettes/test_import_product_virtual.yaml new file mode 100644 index 000000000..a8ec6b177 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_import_product_virtual.yaml @@ -0,0 +1,1527 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 29e4d364f41a997fee1a7b2b037d1185'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:55:36 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=tubbnud2u7ob3bs5v8qu1fljg3; expires=Fri, 30-Jun-2017 + 10:55:35 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 29e4d364f41a997fee1a7b2b037d1185 + + + + + + ol_catalog_product.info + + + + + + + + 563 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['422'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + product_id563skuhbm010set10typedownloadablecategories22websites1type_iddownloadablenameFire + [Kalima remix] by Unannounced GuestdescriptionFire + [Kalima remix] by Unannounced Guest. Duration: 2:48. Downloadable as mp3.short_descriptionTunes + for the trip.old_idnews_from_datenews_to_datestatus1url_keyfire-kalima-remix-by-unannounced-guestvisibility4url_pathfire-kalima-remix-by-unannounced-guest.htmlcategory_ids22required_options1has_options1image_labelsmall_image_labelthumbnail_labelcreated_at2013-03-25T21:20:16+01:00updated_at2013-04-03 + 07:43:49links_purchased_separately1samples_titleSampleslinks_titleLinkslinks_exist1price2.0000group_pricespecial_priceminimal_pricespecial_from_datespecial_to_datecosttier_pricemsrp_enabled2msrp_display_actual_price_type4msrptax_class_id0meta_titlemeta_keywordmeta_descriptioncustom_designcustom_design_fromcustom_design_tocustom_layout_updatepage_layoutone_columnoptions_containercontainer1gift_message_availablegift_wrapping_availableformat193author_artistUnannounced + GuestgenreHip + Hop + + Funkbooks_music_type209'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:55:36 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=dple4mq840osrpk7jp243sg310; expires=Fri, 30-Jun-2017 + 10:55:36 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 29e4d364f41a997fee1a7b2b037d1185 + + + + + + catalog_category.info + + + + + + + + 22 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['342'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id22is_active1position1level3parent_id7increment_idcreated_at2013-01-25T12:07:52+01:00updated_at2013-05-16 + 20:06:14nameBooks + & Musicurl_keybooks-musicthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7/22all_children22path_in_storechildrenurl_pathhome-decor/books-music.htmlchildren_count0display_modePRODUCTSlanding_pageis_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layouttwo_columns_rightcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:55:36 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=5fdfs19620ajc3n7ff8cvogll3; expires=Fri, 30-Jun-2017 + 10:55:36 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 29e4d364f41a997fee1a7b2b037d1185 + + + + + + catalog_category.info + + + + + + + + 7 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id7is_active1position5level2parent_id2increment_idcreated_at2013-01-25T11:49:05+01:00updated_at2013-05-08 + 05:26:34nameHome + & Decorurl_keyhome-decorthumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2/7all_children7,22,23,24,25path_in_storechildren22,23,24,25url_pathhome-decor.htmlchildren_count4display_modePAGElanding_page21is_anchor1available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settings0custom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutone_columncustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:55:36 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=654durt9t7kfshbf055vmmhb34; expires=Fri, 30-Jun-2017 + 10:55:36 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 29e4d364f41a997fee1a7b2b037d1185 + + + + + + catalog_category.info + + + + + + + + 2 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id2is_active1position1level1parent_id1increment_idcreated_at2013-01-14T11:12:53+01:00updated_at2013-05-15 + 22:43:57nameDefault + Categoryurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1/2all_children2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren4,5,6,7,8,9url_pathchildren_count27display_modePRODUCTS_AND_PAGElanding_page19is_anchor0available_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_products0custom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:55:36 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=daoa5qiahjvejm0jd1ho3gpjs4; expires=Fri, 30-Jun-2017 + 10:55:36 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 29e4d364f41a997fee1a7b2b037d1185 + + + + + + catalog_category.info + + + + + + + + 1 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['341'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + category_id1is_activeposition0level0parent_id0increment_idupdated_at2013-01-14 + 10:12:53created_at2013-01-14T11:12:53+01:00nameRoot + Catalogurl_keythumbnaildescriptionimagemeta_titlemeta_keywordsmeta_descriptioninclude_in_menu1path1all_children1,2,4,10,11,12,13,5,14,15,16,17,40,6,18,19,20,21,7,22,23,24,25,8,26,27,28,29,9path_in_storechildren2url_pathchildren_count28display_modelanding_pageis_anchoravailable_sort_bydefault_sort_byfilter_price_rangecustom_use_parent_settingscustom_apply_to_productscustom_designcustom_design_fromcustom_design_topage_layoutcustom_layout_update'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:55:36 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=npcdvn0uis6l3aea195ln15b11; expires=Fri, 30-Jun-2017 + 10:55:36 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 29e4d364f41a997fee1a7b2b037d1185 + + + + + + product_media.list + + + + + + + + 563 + + id + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + file/u/n/unannouncedguest_.jpglabelposition1exclude1urlhttp://magento/media/catalog/product/u/n/unannouncedguest_.jpgtypessmall_imagethumbnailfile/u/n/unannouncedguest.jpglabelposition2exclude1urlhttp://magento/media/catalog/product/u/n/unannouncedguest.jpgtypesimage'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:55:37 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=p51p1osfclo05neko1hk7u2lf5; expires=Fri, 30-Jun-2017 + 10:55:37 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: null + headers: + Connection: [close] + Host: [magento] + User-Agent: [Python-urllib/2.7] + method: GET + uri: http://magento/media/catalog/product/u/n/unannouncedguest.jpg + response: + body: + string: !!binary | + /9j/4AAQSkZJRgABAQEAyADIAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkz + ODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2Nj + Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAW7BbsDAREA + AhEBAxEB/8QAGwABAAIDAQEAAAAAAAAAAAAAAAEFAgMEBgf/2gAIAQEAAAAA86AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMWQAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAjRzadMTnu6OjYAAAAAAAAAAAAAAAAAAAAAAAAAAAANNZqAGfR078wAAAAAA + AAAAAAAAAAAAAAAAAAAAA5K7EABPR1dUgAAAAAAAAAAAAAAAAAAAAAAAAAAclYAABus9oAAAAAAA + AAAAAAAAAAAAAAAAAAAa6jAAABlb7QAAAAAAAAAAAAAAAAAAAAAAAAABX8IAAA6LYAAAAAAAAAAA + AAAAAAAAAAAAAAAUusAAALncQAAAAAAAAAAAAAAAAAAAAAAAACQ0U4AAALDvAQAAAAAAAAAAAAAA + AAAAAAAAAJAVnGAAADqtQAQAAAAAAAAAAAAAAAAAAAAAAkAFHgAAADbdAAEAAAAAAAAAAAAAAAAA + AAAAEgAaKcAAADZdgAAgAAAAAAAAAAAAAAAAAAAAkAAV/AAAABvuAAACAAAAAAAAAAAAAAAAAAAB + IAAKfQAAAB32AAAAQAAAAAAAAAAAAAAAAAAEgAAMaIAAABa9QAAAEAAAAAAAAAAAAAAAAAASAAAO + eoAAAAm8zBAAABAAAAAAAAAAAAAAAAAAkAACRwVwAAAHTbgBAAAEAAAAAAAAAAAAAAAAAkAAEgU/ + OAAABZdwACAAAQAAAAAAAAAAAAAAAAkAAJAFDiAAABd7QAAgAAIAAAAAAAAAAAAAAAEgACQAa6MA + AADddAAAIAAEAAAAAAAAAAMcdezOQAAAJAAJAActSAAABZ9oAAAQAAQAAAAAAAAANXFy4myw6gAA + BIABIAAruAAAAGV5mIAAAIAAQAAAAAAAAA5qzEDos8wAAJAASAACr4wAAAdtoAQAABAACAAAAAAA + AA5K2ADda5gABIAEgABJS6AAAAXe4ACAABAACAAAAAAAADg4AAbbbMABIAEgACQefgAAAOq3AACA + ACAAIAAAAAAAA460ABtt8gASABIACQGNAAAAC56AAAIAAIAAgAAAAAAAaaiAADqs5AEgAkABIA0U + oAAAb7qUAAAIAAgACAAAAAAAEVGkAAO2xAJABIAEgA5agAAALPvAQAAEAAQACAAAAAAAK7iAAA7b + CQSAEgASAA4K0AAATe7AAQAAQACAAQAAAAAAGFLAAADtsRIAJABIAEldXAAADquAABAACAAQAEAA + AAAADhrwAABY9qQASAEgASFdXAAAC27AAAIABAAIACAAAAAAEU2sAAALLtABIASAEgK6uAAAJv8A + IAAAgAEABAAQAAAAABy1YAAAFn2AEgBIASAK6uAAAOq5AgAAIACAAgAIAAAAABU84AAAE2+8CQAk + ASACurgAAC37AAgAAgAIAEABAAAAAAxpcQAAAGdtuCQBIAkABX1oAACfQZAAIAAQAIAEABAAAAAB + yVgAAAA2W+wkASAJABJXVoAADquQAAQABABAAgAIAAAAAV/CAAAAG23zkASASACQ4KsAABbdoAAB + AAU+jfYbwQAQAIAAAAAVPOAAAADZbbgCQCQAkDiqQAAJ9BmCAAAgBjQQntscggAgAQAAAABU84AA + AAGy32gSAkAJAOCrAAA6LwAIAAIA4KwbLPqCACABAAAAAOGvAAAAAbbnISASAJACsrwAALC0AAIA + BAHBWwOyx2CACABAAAAAaqYAAAAA6LbJIBIAkGvRza9evAAABbdwAAQACAVtesNHNlY9skAEAEAA + AAAp9IAAAAB0W+QBIBIjRy8eoAAABZ2IAACAAgY0WHR9V+bY1vTabCACACAAAAA460AAAAAdVtIJ + AEsebk5cAAAAAb7XpEAACABArOB9X6/G9Xi8bTpIAIAIAAAAEVOgAAAAAddrIkAnHi5ubEDdt37t + uumAAAHXY9IEAAQAQc9K999B4fnXpPA1vZZZoAQAIAAAAGFTqAAAAAHZakgGHDw4Bnv6d/TIPOQA + AAG3qsNwEAAgAjHz70P15p+cdWvxkWfUgBABAAAAAY1fOAAAAAO+ykBqreWBn19fVIBNDoAADpw0 + gb7HskCABABFHp2/b+zn815+v9h4Crsu9ACACAAAAAiv4gAAAAB32UhhW8Qz6+vpyAElbWZbNjDE + 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 + headers: + accept-ranges: [bytes] + cache-control: [max-age=2592000] + connection: [close] + content-length: ['59044'] + content-type: [image/jpeg] + date: ['Fri, 30 Jun 2017 09:55:37 GMT'] + etag: ['"59429db2-e6a4"'] + expires: ['Sun, 30 Jul 2017 09:55:37 GMT'] + last-modified: ['Thu, 15 Jun 2017 14:46:10 GMT'] + server: [nginx/1.10.2] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 29e4d364f41a997fee1a7b2b037d1185 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 09:55:37 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=e4h6dumukd7j8bcep0vi2db873; expires=Fri, 30-Jun-2017 + 10:55:37 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_product_export_qty.yaml b/connector_magento/tests/fixtures/cassettes/test_product_export_qty.yaml new file mode 100644 index 000000000..fcaeb527c --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_product_export_qty.yaml @@ -0,0 +1,173 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 570aed496d3b151bc6ca9a97f226c8c6'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:41:10 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=pe3510vtfv4oeircg61b166ti6; expires=Fri, 30-Jun-2017 + 15:41:10 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 570aed496d3b151bc6ca9a97f226c8c6 + + + + + + oerp_cataloginventory_stock_item.update + + + + + + + + 879 + + + + + + is_in_stock + + 1 + + + + + + qty + + 30.0 + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['540'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:41:11 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=6g4d4ibrs0q0q5qg23ga3fe1o5; expires=Fri, 30-Jun-2017 + 15:41:10 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 570aed496d3b151bc6ca9a97f226c8c6 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:41:11 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=6upblevrvj0sh9j2oqqq0vslb5; expires=Fri, 30-Jun-2017 + 15:41:11 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_product_export_qty_config.yaml b/connector_magento/tests/fixtures/cassettes/test_product_export_qty_config.yaml new file mode 100644 index 000000000..64ce85543 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_product_export_qty_config.yaml @@ -0,0 +1,205 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 73ae35c8599ce4e6cea0df610d03aabd'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:48:44 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=f61obeg5ihsl9s2opebfdsfcm4; expires=Fri, 30-Jun-2017 + 15:48:44 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 73ae35c8599ce4e6cea0df610d03aabd + + + + + + oerp_cataloginventory_stock_item.update + + + + + + + + 879 + + + + + + use_config_manage_stock + + 0 + + + + + + backorders + + 2 + + + + + + is_in_stock + + 1 + + + + + + use_config_backorders + + 0 + + + + + + manage_stock + + 1 + + + + + + qty + + 333.0 + + + + + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['851'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:48:44 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=gohj6c6uo0pn3p6p7bflim1gn1; expires=Fri, 30-Jun-2017 + 15:48:44 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 73ae35c8599ce4e6cea0df610d03aabd + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:48:44 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=9dl679v3k76lj04iufnm6hh641; expires=Fri, 30-Jun-2017 + 15:48:44 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_sale_order_cancel_export.yaml b/connector_magento/tests/fixtures/cassettes/test_sale_order_cancel_export.yaml new file mode 100644 index 000000000..ec2b86d63 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_sale_order_cancel_export.yaml @@ -0,0 +1,241 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 8a68465b96ac80299c8e7b0b4be6ceef'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 13:55:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=hv94a49u1krs0pahdi8vol61q6; expires=Fri, 30-Jun-2017 + 14:55:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 8a68465b96ac80299c8e7b0b4be6ceef + + + + + + sales_order.info + + + + + + + + 100000201 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['350'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statenewstatuspendingcoupon_codeprotect_code13520dshipping_descriptionUnited + Parcel Service - Groundis_virtual0store_id1customer_id136base_discount_amount0.0000base_discount_canceledbase_discount_invoicedbase_discount_refundedbase_grand_total387.2700base_shipping_amount12.3100base_shipping_canceledbase_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal344.0000base_subtotal_canceledbase_subtotal_invoicedbase_subtotal_refundedbase_tax_amount30.9600base_tax_canceledbase_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceledbase_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount0.0000discount_canceleddiscount_invoiceddiscount_refundedgrand_total387.2700shipping_amount12.3100shipping_canceledshipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal344.0000subtotal_canceledsubtotal_invoicedsubtotal_refundedtax_amount30.9600tax_canceledtax_invoicedtax_refundedtotal_canceledtotal_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered3.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest0customer_note_notify1billing_address_id355customer_group_id1edit_incrementemail_sent1forced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id619shipping_address_id356adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax374.9600base_total_duepayment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax374.9600total_dueweight3.0000customer_dobincrement_id100000201applied_rule_idsbase_currency_codeUSDcustomer_emailjanedoe@magento.comcustomer_firstnameJanecustomer_lastnameDoecustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeUSDhold_before_statehold_before_statusorder_currency_codeUSDoriginal_increment_idrelation_child_idrelation_child_real_idrelation_parent_idrelation_parent_real_idremote_ip198.228.200.167shipping_methodups_GNDstore_currency_codeUSDstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2013-05-25 + 21:37:05updated_at2013-05-25 + 21:37:06total_item_count2customer_genderhidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax12.3100base_shipping_incl_tax12.3100coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amount0.0000customer_balance_amount0.0000base_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsa:0:{}base_gift_cards_amount0.0000gift_cards_amount0.0000base_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receipt0gw_add_card0gw_base_price0.0000gw_price0.0000gw_items_base_price0.0000gw_items_price0.0000gw_card_base_price0.0000gw_card_price0.0000gw_base_tax_amount0.0000gw_tax_amount0.0000gw_items_base_tax_amount0.0000gw_items_tax_amount0.0000gw_card_base_tax_amount0.0000gw_card_tax_amount0.0000gw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balance0base_reward_currency_amount0.0000reward_currency_amount0.0000base_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id181shipping_addressparent_id181customer_address_id92quote_address_idregion_id12customer_id136faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjanedoe@magento.comtelephone888-888-8888country_idUSfirstnameJaneaddress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id356billing_addressparent_id181customer_address_id92quote_address_idregion_id12customer_id136faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjanedoe@magento.comtelephone888-888-8888country_idUSfirstnameJaneaddress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id355itemsitem_id543order_id181parent_item_idquote_item_id2320store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id418product_typeconfigurableproduct_optionsa:10:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MTgvY2F0ZWdvcnkvMTEv";s:7:"product";s:3:"418";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"26";i:180;s:2:"81";}s:3:"qty";s:1:"2";s:10:"return_url";s:0:"";}s:15:"attributes_info";a:2:{i:0;a:2:{s:5:"label";s:5:"Color";s:5:"value";s:6:"Indigo";}i:1;a:2:{s:5:"label";s:4:"Size";s:5:"value";s:2:"XS";}}s:11:"simple_name";s:9:"Tori + Tank";s:10:"simple_sku";s:8:"wbk003xs";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwbk003xsnameTori + Tankdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered2.0000qty_refunded0.0000qty_shipped0.0000base_costprice60.0000base_price60.0000original_price60.0000base_original_price60.0000tax_percent9.0000tax_amount10.8000base_tax_amount10.8000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total120.0000base_row_total120.0000row_invoiced0.0000base_row_invoiced0.0000row_weight2.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax65.4000base_price_incl_tax65.4000row_total_incl_tax130.8000base_row_total_incl_tax130.8000hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000has_children1item_id544order_id181parent_item_id543quote_item_id2321store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id512product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MTgvY2F0ZWdvcnkvMTEv";s:7:"product";s:3:"418";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"26";i:180;s:2:"81";}s:3:"qty";s:1:"2";s:10:"return_url";s:0:"";}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwbk003xsnameTori + Tankdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered2.0000qty_refunded0.0000qty_shipped0.0000base_costprice0.0000base_price0.0000original_price0.0000base_original_pricetax_percent0.0000tax_amount0.0000base_tax_amount0.0000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total0.0000base_row_total0.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_taxbase_price_incl_taxrow_total_incl_taxbase_row_total_incl_taxhidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amntbase_weee_tax_applied_row_amountweee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000item_id545order_id181parent_item_idquote_item_id2322store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id423product_typeconfigurableproduct_optionsa:10:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MjMvY2F0ZWdvcnkvMTMv";s:7:"product";s:3:"423";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"18";i:180;s:2:"80";}s:3:"qty";s:1:"1";s:10:"return_url";s:0:"";}s:15:"attributes_info";a:2:{i:0;a:2:{s:5:"label";s:5:"Color";s:5:"value";s:6:"Purple";}i:1;a:2:{s:5:"label";s:4:"Size";s:5:"value";s:1:"S";}}s:11:"simple_name";s:21:"Racer + Back Maxi Dress";s:10:"simple_sku";s:6:"wsd005";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwsd005nameRacer + Back Maxi Dressdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice224.0000base_price224.0000original_price224.0000base_original_price224.0000tax_percent9.0000tax_amount20.1600base_tax_amount20.1600tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total224.0000base_row_total224.0000row_invoiced0.0000base_row_invoiced0.0000row_weight1.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax244.1600base_price_incl_tax244.1600row_total_incl_tax244.1600base_row_total_incl_tax244.1600hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000has_children1item_id546order_id181parent_item_id545quote_item_id2323store_id1created_at2013-05-25 + 21:37:06updated_at2013-05-25 + 21:37:06product_id302product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:7:{s:4:"uenc";s:96:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9jYXRhbG9nL3Byb2R1Y3Qvdmlldy9pZC80MjMvY2F0ZWdvcnkvMTMv";s:7:"product";s:3:"423";s:8:"form_key";s:16:"sj7gV8wdnPmbJkIX";s:15:"related_product";s:0:"";s:15:"super_attribute";a:2:{i:92;s:2:"18";i:180;s:2:"80";}s:3:"qty";s:1:"1";s:10:"return_url";s:0:"";}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuwsd005nameRacer + Back Maxi Dressdescriptionapplied_rule_idsadditional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled0.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice0.0000base_price0.0000original_price0.0000base_original_pricetax_percent0.0000tax_amount0.0000base_tax_amount0.0000tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount0.0000base_discount_amount0.0000discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total0.0000base_row_total0.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_taxbase_price_incl_taxrow_total_incl_taxbase_row_total_incl_taxhidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceledhidden_tax_canceledtax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amntbase_weee_tax_applied_row_amountweee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id181base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount12.3100shipping_amount12.3100amount_paidamount_authorizedbase_amount_ordered387.2700base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered387.2700base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcheckmocc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id181status_historyparent_id181is_customer_notified1is_visible_on_front0commentstatuspendingcreated_at2013-05-25 + 21:37:06entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 13:55:34 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=81uodtsb6c0tekf5nb3speq362; expires=Fri, 30-Jun-2017 + 14:55:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + 8a68465b96ac80299c8e7b0b4be6ceef + + + + + + sales_order.addComment + + + + + + + + 100000201 + + canceled + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['397'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 13:55:35 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=8j8fuktujoha7nabri2mn44655; expires=Fri, 30-Jun-2017 + 14:55:34 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + 8a68465b96ac80299c8e7b0b4be6ceef + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 13:55:35 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=p04n54nm0fj482dkelj4hmfqn2; expires=Fri, 30-Jun-2017 + 14:55:35 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/fixtures/cassettes/test_sale_order_reopen_export.yaml b/connector_magento/tests/fixtures/cassettes/test_sale_order_reopen_export.yaml new file mode 100644 index 000000000..14abd6670 --- /dev/null +++ b/connector_magento/tests/fixtures/cassettes/test_sale_order_reopen_export.yaml @@ -0,0 +1,234 @@ +interactions: +- request: + body: !!python/unicode ' + + + + login + + + + + + odoo + + + + + + odoo42 + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['209'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + cc71b22e102c1d28a47b1e9353aa24dd'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:15:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ojqfgv6snn1ke79hm05m8aivj7; expires=Fri, 30-Jun-2017 + 15:15:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + cc71b22e102c1d28a47b1e9353aa24dd + + + + + + sales_order.info + + + + + + + + 100000200 + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['350'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + statecanceledstatuscanceledcoupon_codeprotect_codeda83dcshipping_descriptionUnited + Parcel Service - Groundis_virtual0store_id1customer_id135base_discount_amount-10.0000base_discount_canceled10.0000base_discount_invoicedbase_discount_refundedbase_grand_total599.2500base_shipping_amount0.0000base_shipping_canceled0.0000base_shipping_invoicedbase_shipping_refundedbase_shipping_tax_amount0.0000base_shipping_tax_refundedbase_subtotal835.0000base_subtotal_canceled835.0000base_subtotal_invoicedbase_subtotal_refundedbase_tax_amount74.2500base_tax_canceled74.2500base_tax_invoicedbase_tax_refundedbase_to_global_rate1.0000base_to_order_rate1.0000base_total_canceled599.2500base_total_invoicedbase_total_invoiced_costbase_total_offline_refundedbase_total_online_refundedbase_total_paidbase_total_qty_orderedbase_total_refundeddiscount_amount-10.0000discount_canceled10.0000discount_invoiceddiscount_refundedgrand_total599.2500shipping_amount0.0000shipping_canceled0.0000shipping_invoicedshipping_refundedshipping_tax_amount0.0000shipping_tax_refundedstore_to_base_rate1.0000store_to_order_rate1.0000subtotal835.0000subtotal_canceled835.0000subtotal_invoicedsubtotal_refundedtax_amount74.2500tax_canceled74.2500tax_invoicedtax_refundedtotal_canceled599.2500total_invoicedtotal_offline_refundedtotal_online_refundedtotal_paidtotal_qty_ordered2.0000total_refundedcan_ship_partiallycan_ship_partially_itemcustomer_is_guest0customer_note_notify1billing_address_id353customer_group_id1edit_incrementemail_sent1forced_shipment_with_invoicepayment_auth_expirationquote_address_idquote_id577shipping_address_id354adjustment_negativeadjustment_positivebase_adjustment_negativebase_adjustment_positivebase_shipping_discount_amount0.0000base_subtotal_incl_tax910.1500base_total_due599.2500payment_authorization_amountshipping_discount_amount0.0000subtotal_incl_tax910.1500total_due599.2500weight2.0000customer_dobincrement_id100000200applied_rule_ids11,29base_currency_codeUSDcustomer_emailjohndoe@magento.comcustomer_firstnameJohncustomer_lastnameDoecustomer_middlenamecustomer_prefixcustomer_suffixcustomer_taxvatdiscount_descriptionext_customer_idext_order_idglobal_currency_codeUSDhold_before_statehold_before_statusorder_currency_codeUSDoriginal_increment_idrelation_child_id195relation_child_real_id100000200-1relation_parent_idrelation_parent_real_idremote_ip74.68.114.135shipping_methodups_GNDstore_currency_codeUSDstore_nameMain + Website + + Madison Island + + Englishx_forwarded_forcustomer_notecreated_at2013-05-25 + 01:58:37updated_at2017-06-30 + 12:35:40total_item_count2customer_gender1hidden_tax_amount0.0000base_hidden_tax_amount0.0000shipping_hidden_tax_amount0.0000base_shipping_hidden_tax_amnt0.0000hidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedshipping_incl_tax0.0000base_shipping_incl_tax0.0000coupon_rule_namepaypal_ipn_customer_notified0gift_message_idbase_customer_balance_amount0.0000customer_balance_amount0.0000base_customer_balance_invoicedcustomer_balance_invoicedbase_customer_balance_refundedcustomer_balance_refundedbs_customer_bal_total_refundedcustomer_bal_total_refundedgift_cardsa:1:{i:0;a:5:{s:1:"i";s:2:"58";s:1:"c";s:12:"20IRHQMGHAB6";s:1:"a";d:300;s:2:"ba";d:300;s:10:"authorized";d:300;}}base_gift_cards_amount300.0000gift_cards_amount300.0000base_gift_cards_invoicedgift_cards_invoicedbase_gift_cards_refundedgift_cards_refundedgw_idgw_allow_gift_receipt0gw_add_card0gw_base_price0.0000gw_price0.0000gw_items_base_price0.0000gw_items_price0.0000gw_card_base_price0.0000gw_card_price0.0000gw_base_tax_amount0.0000gw_tax_amount0.0000gw_items_base_tax_amount0.0000gw_items_tax_amount0.0000gw_card_base_tax_amount0.0000gw_card_tax_amount0.0000gw_base_price_invoicedgw_price_invoicedgw_items_base_price_invoicedgw_items_price_invoicedgw_card_base_price_invoicedgw_card_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_items_base_tax_invoicedgw_items_tax_invoicedgw_card_base_tax_invoicedgw_card_tax_invoicedgw_base_price_refundedgw_price_refundedgw_items_base_price_refundedgw_items_price_refundedgw_card_base_price_refundedgw_card_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedgw_items_base_tax_refundedgw_items_tax_refundedgw_card_base_tax_refundedgw_card_tax_refundedreward_points_balance0base_reward_currency_amount0.0000reward_currency_amount0.0000base_rwrd_crrncy_amt_invoicedrwrd_currency_amount_invoicedbase_rwrd_crrncy_amnt_refndedrwrd_crrncy_amnt_refundedreward_points_balance_refundreward_points_balance_refundedreward_salesrule_pointsimported0payment_authorization_expirationforced_do_shipment_with_invoicebase_shipping_hidden_tax_amount0.0000order_id180shipping_addressparent_id180customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@magento.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typeshippingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id354billing_addressparent_id180customer_address_id91quote_address_idregion_id12customer_id135faxregionCaliforniapostcode90232lastnameDoestreet10441 + Jefferson Blvd, Suite 200cityCulver + Cityemailjohndoe@magento.comtelephone888-888-8888country_idUSfirstnameJohnaddress_typebillingprefixmiddlenamesuffixcompanyvat_idvat_is_validvat_request_idvat_request_datevat_request_successgiftregistry_item_idaddress_id353itemsitem_id541order_id180parent_item_idquote_item_id2315store_id1created_at2013-05-25 + 01:58:37updated_at2017-06-30 + 12:35:40product_id393product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:4:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"393";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";i:1;}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuhde003nameMadison + RX3400descriptionapplied_rule_ids11,29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled1.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice715.0000base_price715.0000original_price715.0000base_original_price715.0000tax_percent9.0000tax_amount63.5800base_tax_amount63.5800tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount8.5600base_discount_amount8.5600discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total715.0000base_row_total715.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax779.3500base_price_incl_tax779.3500row_total_incl_tax779.3500base_row_total_incl_tax779.3500hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceled63.5800hidden_tax_canceled0.0000tax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000item_id542order_id180parent_item_idquote_item_id2316store_id1created_at2013-05-25 + 01:58:37updated_at2017-06-30 + 12:35:40product_id396product_typesimpleproduct_optionsa:5:{s:15:"info_buyRequest";a:4:{s:4:"uenc";s:64:"aHR0cDovL2FraXppYW4udGVhbS5tYWdlbnRvLmNvbS9lbGVjdHJvbmljcy5odG1s";s:7:"product";s:3:"396";s:8:"form_key";s:16:"18owwYZqmMopo5xy";s:3:"qty";i:1;}s:17:"giftcard_lifetime";N;s:22:"giftcard_is_redeemable";i:0;s:23:"giftcard_email_template";N;s:13:"giftcard_type";N;}weight1.0000is_virtual0skuhde006nameLarge + Camera Bagdescriptionapplied_rule_ids11,29additional_datafree_shipping0is_qty_decimal0no_discount0qty_backorderedqty_canceled1.0000qty_invoiced0.0000qty_ordered1.0000qty_refunded0.0000qty_shipped0.0000base_costprice120.0000base_price120.0000original_price120.0000base_original_price120.0000tax_percent9.0000tax_amount10.6700base_tax_amount10.6700tax_invoiced0.0000base_tax_invoiced0.0000discount_percent0.0000discount_amount1.4400base_discount_amount1.4400discount_invoiced0.0000base_discount_invoiced0.0000amount_refunded0.0000base_amount_refunded0.0000row_total120.0000base_row_total120.0000row_invoiced0.0000base_row_invoiced0.0000row_weight0.0000base_tax_before_discounttax_before_discountext_order_item_idlocked_do_invoicelocked_do_shipprice_incl_tax130.8000base_price_incl_tax130.8000row_total_incl_tax130.8000base_row_total_incl_tax130.8000hidden_tax_amountbase_hidden_tax_amounthidden_tax_invoicedbase_hidden_tax_invoicedhidden_tax_refundedbase_hidden_tax_refundedis_nominal0tax_canceled10.6700hidden_tax_canceled0.0000tax_refundedbase_tax_refundeddiscount_refundedbase_discount_refundedgift_message_idgift_message_available1base_weee_tax_applied_amount0.0000base_weee_tax_applied_row_amnt0.0000base_weee_tax_applied_row_amount0.0000weee_tax_applied_amount0.0000weee_tax_applied_row_amount0.0000weee_tax_applieda:0:{}weee_tax_disposition0.0000weee_tax_row_disposition0.0000base_weee_tax_disposition0.0000base_weee_tax_row_disposition0.0000event_idgiftregistry_item_idgw_idgw_base_pricegw_pricegw_base_tax_amountgw_tax_amountgw_base_price_invoicedgw_price_invoicedgw_base_tax_amount_invoicedgw_tax_amount_invoicedgw_base_price_refundedgw_price_refundedgw_base_tax_amount_refundedgw_tax_amount_refundedqty_returned0.0000paymentparent_id180base_shipping_capturedshipping_capturedamount_refundedbase_amount_paidamount_canceledbase_amount_authorizedbase_amount_paid_onlinebase_amount_refunded_onlinebase_shipping_amount0.0000shipping_amount0.0000amount_paidamount_authorizedbase_amount_ordered599.2500base_shipping_refundedshipping_refundedbase_amount_refundedamount_ordered599.2500base_amount_canceledquote_payment_idadditional_datacc_exp_month0cc_ss_start_year0echeck_bank_namemethodcheckmocc_debug_request_bodycc_secure_verifyprotection_eligibilitycc_approvalcc_last4cc_status_descriptionecheck_typecc_debug_response_serializedcc_ss_start_month0echeck_account_typelast_trans_idcc_cid_statuscc_ownercc_typepo_numbercc_exp_year0cc_statusecheck_routing_numberaccount_statusanet_trans_methodcc_debug_response_bodycc_ss_issueecheck_account_namecc_avs_statuscc_number_enccc_trans_idpaybox_request_numberaddress_statusadditional_informationcybersource_tokenflo2cash_account_idideal_issuer_idideal_issuer_titleideal_transaction_checkedpaybox_question_numberpayment_id180status_historyparent_id180is_customer_notified2is_visible_on_front0commentstatuscanceledcreated_at2017-06-30 + 12:35:40entity_nameorderstore_id1parent_id180is_customer_notified1is_visible_on_front0commentstatuspendingcreated_at2013-05-25 + 01:58:38entity_nameorderstore_id1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:15:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=ip74ui5i0ejgo05in0fue868u7; expires=Fri, 30-Jun-2017 + 15:15:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + call + + + + + + cc71b22e102c1d28a47b1e9353aa24dd + + + + + + sales_order.addComment + + + + + + + + 100000200 + + pending + + + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['396'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:15:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=cchlff1md770b6vglud5t2ra03; expires=Fri, 30-Jun-2017 + 15:15:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + + + endSession + + + + + + cc71b22e102c1d28a47b1e9353aa24dd + + + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['186'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://magento/index.php/api/xmlrpc + response: + body: {string: !!python/unicode ' + + 1'} + headers: + cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + connection: [keep-alive] + content-type: [text/xml; charset=UTF-8] + date: ['Fri, 30 Jun 2017 14:15:27 GMT'] + expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + pragma: [no-cache] + server: [nginx/1.10.2] + set-cookie: ['PHPSESSID=u1375lqtmdsbiakiat9pgqp1t7; expires=Fri, 30-Jun-2017 + 15:15:27 GMT; path=/; domain=magento; HttpOnly'] + x-powered-by: [PHP/5.3.3] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/__init__.py b/connector_magento/tests/magento2/__init__.py new file mode 100644 index 000000000..d3c4caca2 --- /dev/null +++ b/connector_magento/tests/magento2/__init__.py @@ -0,0 +1,12 @@ +from . import test_magento2_concurrent_sync +from . import test_magento2_export_invoice +from . import test_magento2_export_picking +from . import test_magento2_export_product_stock +from . import test_magento2_import_metadata +from . import test_magento2_import_partner +from . import test_magento2_import_partner_category +from . import test_magento2_import_product +from . import test_magento2_import_product_category +from . import test_magento2_import_product_image +from . import test_magento2_related_action +from . import test_magento2_sale_order diff --git a/connector_magento/tests/magento2/common.py b/connector_magento/tests/magento2/common.py new file mode 100644 index 000000000..e2716a0a2 --- /dev/null +++ b/connector_magento/tests/magento2/common.py @@ -0,0 +1,42 @@ +# Copyright 2013-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +# pylint: disable=missing-manifest-dependency +# disable warning on 'vcr' missing in manifest: this is only a dependency for +# dev/tests + +""" +Magento2 version of the helpers from tests/common.py +""" + +from os.path import dirname, join +from vcr import VCR + +from ..common import MagentoTestCase + + +recorder = VCR( + cassette_library_dir=join(dirname(__file__), 'fixtures/cassettes'), + decode_compressed_response=True, + filter_headers=['Authorization'], + path_transformer=VCR.ensure_suffix('.yaml'), + record_mode='once', +) + + +class Magento2TestCase(MagentoTestCase): + def setUp(self): + super(Magento2TestCase, self).setUp() + self.recorder = recorder + self.backend.write({ + 'version': '2.0', + 'token': 'm59qseoztake3xm1zcvkiv8qnuj09da0', + }) + + +class Magento2SyncTestCase(Magento2TestCase): + def setUp(self): + super(Magento2SyncTestCase, self).setUp() + with recorder.use_cassette('metadata'): + self.backend.synchronize_metadata() diff --git a/connector_magento/tests/magento2/fixtures/cassettes/import_product_product_MH09-L-Blue.yaml b/connector_magento/tests/magento2/fixtures/cassettes/import_product_product_MH09-L-Blue.yaml new file mode 100644 index 000000000..35d63840b --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/import_product_product_MH09-L-Blue.yaml @@ -0,0 +1,362 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/MH09-L-Blue + response: + body: {string: '{"id":190,"sku":"MH09-L-Blue","name":"Abominable Hoodie-L-Blue","attribute_set_id":9,"price":69,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:41","updated_at":"2020-03-27 16:06:41","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"}],"stock_item":{"item_id":190,"product_id":190,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":298,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh09-blue_main_1.jpg"},{"id":299,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_alt1_1.jpg"},{"id":300,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"abominable-hoodie-l-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15"]},{"attribute_code":"description","value":"

It + took CoolTech™ weather apparel know-how and lots of wind-resistant fabric + to get the Abominable Hoodie just right. It''s aggressively warm when it needs + to be, while maintaining your comfort in milder climes.<\/p>\n

• Blue + heather hoodie.
• Relaxed fit.
• Moisture-wicking. +
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5596"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:29 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=cdceuht4mchps1pcmpr404o48o; expires=Fri, 01-May-2020 + 17:31:29 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2512'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/15 + response: + body: {string: '{"id":15,"parent_id":12,"name":"Hoodies & Sweatshirts","is_active":true,"position":2,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12\/15","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12\/15"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"hoodies-and-sweatshirts-men"},{"attribute_code":"url_path","value":"men\/tops-men\/hoodies-and-sweatshirts-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4mohi9asj6d6379sbco0h6b3c7; expires=Fri, 01-May-2020 + 17:31:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['567'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/12 + response: + body: {string: '{"id":12,"parent_id":11,"name":"Tops","is_active":true,"position":1,"level":3,"children":"14,15,16,17","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"tops-men"},{"attribute_code":"url_path","value":"men\/tops-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=tttn8mm6edaoboksmuh9epovqp; expires=Fri, 01-May-2020 + 17:31:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/11 + response: + body: {string: '{"id":11,"parent_id":2,"name":"Men","is_active":true,"position":3,"level":2,"children":"12,13","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/11"},{"attribute_code":"children_count","value":"8"},{"attribute_code":"url_key","value":"men"},{"attribute_code":"url_path","value":"men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=h7adtevuhqlsrar2fvglr2sge3; expires=Fri, 01-May-2020 + 17:31:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=rtr6v970u8dlpgfgeb2vng7lge; expires=Fri, 01-May-2020 + 17:31:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=mqb8rc96skob7j5oir5dekv1t5; expires=Fri, 01-May-2020 + 17:31:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=8u3551ch2lf65rlnct19abu07h; expires=Fri, 01-May-2020 + 17:31:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=3bjsplmlo1u9ql47cv16emq0dn; expires=Fri, 01-May-2020 + 17:31:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/11 + response: + body: {string: '{"id":11,"parent_id":2,"name":"Men","is_active":true,"position":3,"level":2,"children":"12,13","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/11"},{"attribute_code":"children_count","value":"8"},{"attribute_code":"url_key","value":"men"},{"attribute_code":"url_path","value":"men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:31 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=s5de78ktm11g4afk40d2pfru07; expires=Fri, 01-May-2020 + 17:31:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/12 + response: + body: {string: '{"id":12,"parent_id":11,"name":"Tops","is_active":true,"position":1,"level":3,"children":"14,15,16,17","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"tops-men"},{"attribute_code":"url_path","value":"men\/tops-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:31 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=msk39k9sbuc92bvqkd13ik69ol; expires=Fri, 01-May-2020 + 17:31:31 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/15 + response: + body: {string: '{"id":15,"parent_id":12,"name":"Hoodies & Sweatshirts","is_active":true,"position":2,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12\/15","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12\/15"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"hoodies-and-sweatshirts-men"},{"attribute_code":"url_path","value":"men\/tops-men\/hoodies-and-sweatshirts-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:31 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2q4372nhpv3cp6fcfsnj165cec; expires=Fri, 01-May-2020 + 17:31:31 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['567'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/MH09-L-Blue + response: + body: {string: '{"id":190,"sku":"MH09-L-Blue","name":"Abominable Hoodie-L-Blue","attribute_set_id":9,"price":69,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:41","updated_at":"2020-03-27 16:06:41","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"}],"stock_item":{"item_id":190,"product_id":190,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":298,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh09-blue_main_1.jpg"},{"id":299,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_alt1_1.jpg"},{"id":300,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"abominable-hoodie-l-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15"]},{"attribute_code":"description","value":"

It + took CoolTech™ weather apparel know-how and lots of wind-resistant fabric + to get the Abominable Hoodie just right. It''s aggressively warm when it needs + to be, while maintaining your comfort in milder climes.<\/p>\n

• Blue + heather hoodie.
• Relaxed fit.
• Moisture-wicking. +
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5596"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 16:31:31 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=om1cchijtoi9mi5ud311kko3sf; expires=Fri, 01-May-2020 + 17:31:31 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2512'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//m/h/mh09-blue_main_1.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['203443'] + Content-Type: [image/jpeg] + Date: ['Fri, 01 May 2020 16:31:31 GMT'] + ETag: ['"5e7e2491-31ab3"'] + Expires: ['Sat, 01 May 2021 16:31:31 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 16:06:41 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_10.yaml b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_10.yaml new file mode 100644 index 000000000..ed6309f2c --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_10.yaml @@ -0,0 +1,165 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/10 + response: + body: {string: '{"base_currency_code":"USD","base_discount_amount":0,"base_grand_total":322.17,"base_discount_tax_compensation_amount":0,"base_shipping_amount":5,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":5,"base_shipping_tax_amount":0,"base_subtotal":293,"base_subtotal_incl_tax":317.17,"base_tax_amount":24.17,"base_total_due":322.17,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":20,"created_at":"2020-04-24 + 16:09:35","customer_dob":"1973-12-15 00:00:00","customer_email":"roni_cost@example.com","customer_firstname":"Veronica","customer_gender":2,"customer_group_id":1,"customer_id":1,"customer_is_guest":0,"customer_lastname":"Costello","customer_note_notify":1,"discount_amount":0,"edit_increment":1,"entity_id":10,"global_currency_code":"USD","grand_total":322.17,"discount_tax_compensation_amount":0,"increment_id":"000000013-1","is_virtual":0,"order_currency_code":"USD","original_increment_id":"000000013","protect_code":"0300bffc26e99078f57280d4f9a2a0b6","quote_id":13,"relation_parent_id":"9","relation_parent_real_id":"000000013","shipping_amount":5,"shipping_description":"Best + Way - Table Rate","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":5,"shipping_tax_amount":0,"state":"new","status":"pending","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":293,"subtotal_incl_tax":317.17,"tax_amount":24.17,"total_due":322.17,"total_item_count":2,"total_qty_ordered":2,"updated_at":"2020-04-24 + 16:09:35","weight":1,"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":69,"base_row_total_incl_tax":74.69,"base_tax_amount":5.69,"base_tax_invoiced":0,"created_at":"2020-04-24 + 16:09:35","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":19,"name":"Abominable + Hoodie","no_discount":0,"order_id":10,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":196,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":30,"row_invoiced":0,"row_total":69,"row_total_incl_tax":74.69,"row_weight":1,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":5.69,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_price":0,"base_row_invoiced":0,"base_row_total":0,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-04-24 + 16:09:35","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"is_qty_decimal":0,"is_virtual":0,"item_id":20,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":10,"original_price":0,"parent_item_id":19,"price":69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":31,"row_invoiced":0,"row_total":0,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-04-24 + 16:09:35","weight":1,"parent_item":{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":69,"base_row_total_incl_tax":74.69,"base_tax_amount":5.69,"base_tax_invoiced":0,"created_at":"2020-04-24 + 16:09:35","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":19,"name":"Abominable + Hoodie","no_discount":0,"order_id":10,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":196,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":30,"row_invoiced":0,"row_total":69,"row_total_incl_tax":74.69,"row_weight":1,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":5.69,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},"row_total_incl_tax":0,"base_row_total_incl_tax":0},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":224,"base_row_total_incl_tax":242.48,"base_tax_amount":18.48,"base_tax_invoiced":0,"created_at":"2020-04-24 + 16:09:35","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":21,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":10,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":32,"row_invoiced":0,"row_total":224,"row_total_incl_tax":242.48,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":18.48,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":19,"email":"roni_cost@example.com","entity_id":20,"firstname":"Veronica","lastname":"Costello","parent_id":10,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":322.17,"base_amount_ordered":322.17,"base_shipping_amount":5,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":10,"method":"checkmo","parent_id":10,"shipping_amount":5},"status_histories":[],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"Calder","country_id":"US","customer_address_id":18,"email":"roni_cost@example.com","entity_id":19,"firstname":"Veronica","lastname":"Costello","parent_id":10,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"method":"tablerate_bestway","total":{"base_shipping_amount":5,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":5,"base_shipping_tax_amount":0,"shipping_amount":5,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":5,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":69,"base_row_total_incl_tax":74.69,"base_tax_amount":5.69,"base_tax_invoiced":0,"created_at":"2020-04-24 + 16:09:35","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":19,"name":"Abominable + Hoodie","no_discount":0,"order_id":10,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":196,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":30,"row_invoiced":0,"row_total":69,"row_total_incl_tax":74.69,"row_weight":1,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":5.69,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_price":0,"base_row_invoiced":0,"base_row_total":0,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-04-24 + 16:09:35","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"is_qty_decimal":0,"is_virtual":0,"item_id":20,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":10,"original_price":0,"parent_item_id":19,"price":69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":31,"row_invoiced":0,"row_total":0,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-04-24 + 16:09:35","weight":1,"parent_item":{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":69,"base_row_total_incl_tax":74.69,"base_tax_amount":5.69,"base_tax_invoiced":0,"created_at":"2020-04-24 + 16:09:35","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":19,"name":"Abominable + Hoodie","no_discount":0,"order_id":10,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":196,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":30,"row_invoiced":0,"row_total":69,"row_total_incl_tax":74.69,"row_weight":1,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":5.69,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},"row_total_incl_tax":0,"base_row_total_incl_tax":0},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":224,"base_row_total_incl_tax":242.48,"base_tax_amount":18.48,"base_tax_invoiced":0,"created_at":"2020-04-24 + 16:09:35","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":21,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":10,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":32,"row_invoiced":0,"row_total":224,"row_total_incl_tax":242.48,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":18.48,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35"}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[{"code":"US-MI-*-Rate 1","title":"US-MI-*-Rate + 1","percent":8.25,"amount":24.17,"base_amount":24.17}],"item_applied_taxes":[{"type":"product","item_id":19,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":5.69,"base_amount":5.69}]},{"type":"product","item_id":21,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":18.48,"base_amount":18.48}]}],"converting_from_quote":true}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 16:12:26 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=u352hsqte6k3hiedei3q8m3uo2; expires=Fri, 24-Apr-2020 + 17:12:26 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['12124'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true},{"id":7,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":8,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":9,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":10,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":11,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":12,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":13,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":14,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":15,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":16,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":17,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":18,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":19,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 16:12:26 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=8uf71qevg6u5rlpdp99g3m6ei3; expires=Fri, 24-Apr-2020 + 17:12:26 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['4303'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/9 + response: + body: {string: '{"base_currency_code":"USD","base_discount_amount":0,"base_discount_canceled":0,"base_grand_total":396.87,"base_discount_tax_compensation_amount":0,"base_shipping_amount":5,"base_shipping_canceled":5,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":5,"base_shipping_tax_amount":0,"base_subtotal":362,"base_subtotal_canceled":362,"base_subtotal_incl_tax":391.87,"base_tax_amount":29.87,"base_tax_canceled":29.87,"base_total_canceled":396.87,"base_total_due":396.87,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":18,"created_at":"2020-04-24 + 15:50:17","customer_dob":"1973-12-15 00:00:00","customer_email":"roni_cost@example.com","customer_firstname":"Veronica","customer_gender":2,"customer_group_id":1,"customer_id":1,"customer_is_guest":0,"customer_lastname":"Costello","customer_note_notify":1,"discount_amount":0,"discount_canceled":0,"edit_increment":1,"entity_id":9,"global_currency_code":"USD","grand_total":396.87,"discount_tax_compensation_amount":0,"increment_id":"000000013","is_virtual":0,"order_currency_code":"USD","protect_code":"31f91a5e7903b79f84fc6b7f027cde94","quote_id":12,"relation_child_id":"10","relation_child_real_id":"000000013-1","shipping_amount":5,"shipping_canceled":5,"shipping_description":"Best + Way - Table Rate","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":5,"shipping_tax_amount":0,"state":"canceled","status":"canceled","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":362,"subtotal_canceled":362,"subtotal_incl_tax":391.87,"tax_amount":29.87,"tax_canceled":29.87,"total_canceled":396.87,"total_due":396.87,"total_item_count":2,"total_qty_ordered":3,"updated_at":"2020-04-24 + 16:09:35","weight":2,"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.7,"base_row_invoiced":0,"base_row_total":138,"base_row_total_incl_tax":149.39,"base_tax_amount":11.39,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"discount_tax_compensation_canceled":0,"is_qty_decimal":0,"is_virtual":0,"item_id":16,"name":"Abominable + Hoodie","no_discount":0,"order_id":9,"original_price":69,"price":69,"price_incl_tax":74.7,"product_id":196,"product_type":"configurable","qty_canceled":2,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":27,"row_invoiced":0,"row_total":138,"row_total_incl_tax":149.39,"row_weight":2,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":11.39,"tax_canceled":11.39,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_price":0,"base_row_invoiced":0,"base_row_total":0,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_canceled":0,"is_qty_decimal":0,"is_virtual":0,"item_id":17,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":9,"original_price":0,"parent_item_id":16,"price":69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":28,"row_invoiced":0,"row_total":0,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":0,"tax_canceled":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-04-24 + 16:09:35","weight":1,"parent_item":{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.7,"base_row_invoiced":0,"base_row_total":138,"base_row_total_incl_tax":149.39,"base_tax_amount":11.39,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"discount_tax_compensation_canceled":0,"is_qty_decimal":0,"is_virtual":0,"item_id":16,"name":"Abominable + Hoodie","no_discount":0,"order_id":9,"original_price":69,"price":69,"price_incl_tax":74.7,"product_id":196,"product_type":"configurable","qty_canceled":2,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":27,"row_invoiced":0,"row_total":138,"row_total_incl_tax":149.39,"row_weight":2,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":11.39,"tax_canceled":11.39,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},"row_total_incl_tax":0,"base_row_total_incl_tax":0},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":224,"base_row_total_incl_tax":242.48,"base_tax_amount":18.48,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"discount_tax_compensation_canceled":0,"is_qty_decimal":0,"is_virtual":0,"item_id":18,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":9,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":1,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":29,"row_invoiced":0,"row_total":224,"row_total_incl_tax":242.48,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":18.48,"tax_canceled":18.48,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":17,"email":"roni_cost@example.com","entity_id":18,"firstname":"Veronica","lastname":"Costello","parent_id":9,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":396.87,"base_amount_ordered":396.87,"base_shipping_amount":5,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":9,"method":"checkmo","parent_id":9,"shipping_amount":5},"status_histories":[],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"Calder","country_id":"US","customer_address_id":1,"email":"roni_cost@example.com","entity_id":17,"firstname":"Veronica","lastname":"Costello","parent_id":9,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"method":"tablerate_bestway","total":{"base_shipping_amount":5,"base_shipping_canceled":5,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":5,"base_shipping_tax_amount":0,"shipping_amount":5,"shipping_canceled":5,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":5,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.7,"base_row_invoiced":0,"base_row_total":138,"base_row_total_incl_tax":149.39,"base_tax_amount":11.39,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"discount_tax_compensation_canceled":0,"is_qty_decimal":0,"is_virtual":0,"item_id":16,"name":"Abominable + Hoodie","no_discount":0,"order_id":9,"original_price":69,"price":69,"price_incl_tax":74.7,"product_id":196,"product_type":"configurable","qty_canceled":2,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":27,"row_invoiced":0,"row_total":138,"row_total_incl_tax":149.39,"row_weight":2,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":11.39,"tax_canceled":11.39,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_price":0,"base_row_invoiced":0,"base_row_total":0,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_canceled":0,"is_qty_decimal":0,"is_virtual":0,"item_id":17,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":9,"original_price":0,"parent_item_id":16,"price":69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":28,"row_invoiced":0,"row_total":0,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":0,"tax_canceled":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-04-24 + 16:09:35","weight":1,"parent_item":{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.7,"base_row_invoiced":0,"base_row_total":138,"base_row_total_incl_tax":149.39,"base_tax_amount":11.39,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"discount_tax_compensation_canceled":0,"is_qty_decimal":0,"is_virtual":0,"item_id":16,"name":"Abominable + Hoodie","no_discount":0,"order_id":9,"original_price":69,"price":69,"price_incl_tax":74.7,"product_id":196,"product_type":"configurable","qty_canceled":2,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":27,"row_invoiced":0,"row_total":138,"row_total_incl_tax":149.39,"row_weight":2,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":11.39,"tax_canceled":11.39,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},"row_total_incl_tax":0,"base_row_total_incl_tax":0},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":224,"base_row_total_incl_tax":242.48,"base_tax_amount":18.48,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"discount_tax_compensation_canceled":0,"is_qty_decimal":0,"is_virtual":0,"item_id":18,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":9,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":1,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":29,"row_invoiced":0,"row_total":224,"row_total_incl_tax":242.48,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":18.48,"tax_canceled":18.48,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 16:09:35"}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[{"code":"US-MI-*-Rate 1","title":"US-MI-*-Rate + 1","percent":8.25,"amount":29.87,"base_amount":29.87}],"item_applied_taxes":[{"type":"product","item_id":16,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":11.39,"base_amount":11.39}]},{"type":"product","item_id":18,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":18.48,"base_amount":18.48}]}],"converting_from_quote":true}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 16:12:27 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vq2a1r1d873ltgi3bcq4obie42; expires=Fri, 24-Apr-2020 + 17:12:27 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['12869'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_11.yaml b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_11.yaml new file mode 100644 index 000000000..e4fe7522e --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_11.yaml @@ -0,0 +1,584 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/11 + response: + body: {string: '{"applied_rule_ids":"2,3","base_currency_code":"USD","base_discount_amount":-58.6,"base_grand_total":253.74,"base_discount_tax_compensation_amount":0,"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"base_subtotal":293,"base_subtotal_incl_tax":317.17,"base_tax_amount":19.34,"base_total_due":253.74,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":22,"created_at":"2020-04-24 + 17:05:45","customer_dob":"1973-12-15 00:00:00","customer_email":"roni_cost@example.com","customer_firstname":"Veronica","customer_gender":2,"customer_group_id":1,"customer_id":1,"customer_is_guest":0,"customer_lastname":"Costello","customer_note_notify":1,"discount_amount":-58.6,"entity_id":11,"global_currency_code":"USD","grand_total":253.74,"discount_tax_compensation_amount":0,"increment_id":"000000014","is_virtual":0,"order_currency_code":"USD","protect_code":"5d88526a03de76738a8ee41c495a9720","quote_id":14,"shipping_amount":0,"shipping_description":"Best + Way - Table Rate","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0,"state":"new","status":"pending","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":293,"subtotal_incl_tax":317.17,"tax_amount":19.34,"total_due":253.74,"total_item_count":2,"total_qty_ordered":2,"updated_at":"2020-04-24 + 17:05:45","weight":1,"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-24 + 17:05:45","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":22,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":11,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":33,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 17:05:45","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-24 + 17:05:45","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":23,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":11,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":34,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 17:05:45"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":21,"email":"roni_cost@example.com","entity_id":22,"firstname":"Veronica","lastname":"Costello","parent_id":11,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":253.74,"base_amount_ordered":253.74,"base_shipping_amount":0,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":11,"method":"checkmo","parent_id":11,"shipping_amount":0},"status_histories":[],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"Calder","country_id":"US","customer_address_id":20,"email":"roni_cost@example.com","entity_id":21,"firstname":"Veronica","lastname":"Costello","parent_id":11,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"method":"tablerate_bestway","total":{"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"shipping_amount":0,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-24 + 17:05:45","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":22,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":11,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":33,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 17:05:45","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-24 + 17:05:45","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":23,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":11,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":34,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 17:05:45"}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[{"code":"US-MI-*-Rate 1","title":"US-MI-*-Rate + 1","percent":8.25,"amount":19.34,"base_amount":19.34}],"item_applied_taxes":[{"type":"product","item_id":22,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":4.55,"base_amount":4.55}]},{"type":"product","item_id":23,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":14.79,"base_amount":14.79}]}],"converting_from_quote":true}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:48 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=23p6l3tdpof5rlg6nl1ac0qdmp; expires=Fri, 24-Apr-2020 + 18:09:48 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['7715'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true},{"id":7,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":8,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":9,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":10,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":11,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":12,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":13,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":14,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":15,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":16,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":17,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":18,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":19,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":20,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":21,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:48 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=tuvmve45rt3abtkqvf4gkahbhp; expires=Fri, 24-Apr-2020 + 18:09:48 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['4855'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customerGroups/1 + response: + body: {string: '{"id":1,"code":"General","tax_class_id":3,"tax_class_name":"Retail + Customer"}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:48 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=kbdmeffqc2tdl8imn2sbpfc3q0; expires=Fri, 24-Apr-2020 + 18:09:48 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['77'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true},{"id":7,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":8,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":9,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":10,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":11,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":12,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":13,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":14,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":15,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":16,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":17,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":18,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":19,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":20,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":21,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:48 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4r0nh7n7ihchdn6co5ipi2p9q1; expires=Fri, 24-Apr-2020 + 18:09:48 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['4855'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/MH09-XS-Blue + response: + body: {string: '{"id":181,"sku":"MH09-XS-Blue","name":"Abominable Hoodie-XS-Blue","attribute_set_id":9,"price":69,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:41","updated_at":"2020-03-27 16:06:41","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"}],"stock_item":{"item_id":181,"product_id":181,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":283,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh09-blue_main_1.jpg"},{"id":284,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_alt1_1.jpg"},{"id":285,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"abominable-hoodie-xs-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15"]},{"attribute_code":"description","value":"

It + took CoolTech™ weather apparel know-how and lots of wind-resistant fabric + to get the Abominable Hoodie just right. It''s aggressively warm when it needs + to be, while maintaining your comfort in milder climes.<\/p>\n

• Blue + heather hoodie.
• Relaxed fit.
• Moisture-wicking. +
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5593"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:50 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=lhraa5ukhh3i4v601n5ov6j2t1; expires=Fri, 24-Apr-2020 + 18:09:49 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2515'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/15 + response: + body: {string: '{"id":15,"parent_id":12,"name":"Hoodies & Sweatshirts","is_active":true,"position":2,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12\/15","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12\/15"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"hoodies-and-sweatshirts-men"},{"attribute_code":"url_path","value":"men\/tops-men\/hoodies-and-sweatshirts-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:50 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=lvd441f75cuqm030n0uo3bi9t8; expires=Fri, 24-Apr-2020 + 18:09:50 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['567'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/12 + response: + body: {string: '{"id":12,"parent_id":11,"name":"Tops","is_active":true,"position":1,"level":3,"children":"14,15,16,17","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"tops-men"},{"attribute_code":"url_path","value":"men\/tops-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:50 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=m6ua2ojl45js0r21fqug2iht5r; expires=Fri, 24-Apr-2020 + 18:09:50 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/11 + response: + body: {string: '{"id":11,"parent_id":2,"name":"Men","is_active":true,"position":3,"level":2,"children":"12,13","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/11"},{"attribute_code":"children_count","value":"8"},{"attribute_code":"url_key","value":"men"},{"attribute_code":"url_path","value":"men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:50 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=jlnpl7akk347bvqnfa2hoasac9; expires=Fri, 24-Apr-2020 + 18:09:50 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:50 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=9mmc6hs231tagebe78391vhb2r; expires=Fri, 24-Apr-2020 + 18:09:50 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:50 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=e4d6l1f02s4n2jjk1ti1sr57e1; expires=Fri, 24-Apr-2020 + 18:09:50 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:50 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=t5h0ki9aeh3gu2e5crl10bmu7e; expires=Fri, 24-Apr-2020 + 18:09:50 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:50 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=qsjk9nl1vt633hmhi48v3bv1rp; expires=Fri, 24-Apr-2020 + 18:09:50 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/11 + response: + body: {string: '{"id":11,"parent_id":2,"name":"Men","is_active":true,"position":3,"level":2,"children":"12,13","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/11"},{"attribute_code":"children_count","value":"8"},{"attribute_code":"url_key","value":"men"},{"attribute_code":"url_path","value":"men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:51 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=t9hjmdhh82qb9cbtmr8hu8k50g; expires=Fri, 24-Apr-2020 + 18:09:50 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/12 + response: + body: {string: '{"id":12,"parent_id":11,"name":"Tops","is_active":true,"position":1,"level":3,"children":"14,15,16,17","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"tops-men"},{"attribute_code":"url_path","value":"men\/tops-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:51 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ap9h2e6iken5rvorssdpp2ocs1; expires=Fri, 24-Apr-2020 + 18:09:51 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/15 + response: + body: {string: '{"id":15,"parent_id":12,"name":"Hoodies & Sweatshirts","is_active":true,"position":2,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12\/15","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12\/15"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"hoodies-and-sweatshirts-men"},{"attribute_code":"url_path","value":"men\/tops-men\/hoodies-and-sweatshirts-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:51 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=oooif916aevj9c6h8no38nfn8j; expires=Fri, 24-Apr-2020 + 18:09:51 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['567'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/MH09-XS-Blue + response: + body: {string: '{"id":181,"sku":"MH09-XS-Blue","name":"Abominable Hoodie-XS-Blue","attribute_set_id":9,"price":69,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:41","updated_at":"2020-03-27 16:06:41","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"}],"stock_item":{"item_id":181,"product_id":181,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":283,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh09-blue_main_1.jpg"},{"id":284,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_alt1_1.jpg"},{"id":285,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"abominable-hoodie-xs-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15"]},{"attribute_code":"description","value":"

It + took CoolTech™ weather apparel know-how and lots of wind-resistant fabric + to get the Abominable Hoodie just right. It''s aggressively warm when it needs + to be, while maintaining your comfort in milder climes.<\/p>\n

• Blue + heather hoodie.
• Relaxed fit.
• Moisture-wicking. +
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5593"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:51 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=de41acdb76488hm03l3ikvnq5g; expires=Fri, 24-Apr-2020 + 18:09:51 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2515'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//m/h/mh09-blue_main_1.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['203443'] + Content-Type: [image/jpeg] + Date: ['Fri, 24 Apr 2020 17:09:51 GMT'] + ETag: ['"5e7e2491-31ab3"'] + Expires: ['Sat, 24 Apr 2021 17:09:51 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 16:06:41 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/RACER + response: + body: {string: '{"id":2051,"sku":"RACER","name":"Racer Back Maxi Dress","attribute_set_id":4,"price":224,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-04-24 + 11:34:18","updated_at":"2020-04-24 11:39:56","extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2051,"product_id":2051,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"racer-back-maxi-dress"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"Racer + Back Maxi Dress"},{"attribute_code":"meta_keyword","value":"Racer Back Maxi + Dress"},{"attribute_code":"meta_description","value":"Racer Back Maxi Dress + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"ts_packaging_type","value":"none"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:52 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2bbcjvd97tos6ff8r8m84fagl6; expires=Fri, 24-Apr-2020 + 18:09:52 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1662'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/RACER + response: + body: {string: '{"id":2051,"sku":"RACER","name":"Racer Back Maxi Dress","attribute_set_id":4,"price":224,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-04-24 + 11:34:18","updated_at":"2020-04-24 11:39:56","extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2051,"product_id":2051,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"racer-back-maxi-dress"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"Racer + Back Maxi Dress"},{"attribute_code":"meta_keyword","value":"Racer Back Maxi + Dress"},{"attribute_code":"meta_description","value":"Racer Back Maxi Dress + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"ts_packaging_type","value":"none"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:09:52 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vlj6gvflajedf85l0v343v7qaa; expires=Fri, 24-Apr-2020 + 18:09:52 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1662'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_12.yaml b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_12.yaml new file mode 100644 index 000000000..7c25729bf --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_12.yaml @@ -0,0 +1,600 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/12 + response: + body: {string: '{"applied_rule_ids":"2,3","base_currency_code":"USD","base_discount_amount":-58.6,"base_grand_total":253.74,"base_discount_tax_compensation_amount":0,"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"base_subtotal":293,"base_subtotal_incl_tax":317.17,"base_tax_amount":19.34,"base_total_due":253.74,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":24,"created_at":"2020-04-25 + 07:23:37","customer_dob":"1973-12-15 00:00:00","customer_email":"roni_cost@example.com","customer_firstname":"Veronica","customer_gender":2,"customer_group_id":1,"customer_id":1,"customer_is_guest":0,"customer_lastname":"Costello","customer_note_notify":1,"discount_amount":-58.6,"entity_id":12,"global_currency_code":"USD","grand_total":253.74,"discount_tax_compensation_amount":0,"increment_id":"000000015","is_virtual":0,"order_currency_code":"USD","protect_code":"8da79fef0f4d6ea295c9e6d1c12cbc19","quote_id":15,"shipping_amount":0,"shipping_description":"Best + Way - Table Rate","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0,"state":"new","status":"pending","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":293,"subtotal_incl_tax":317.17,"tax_amount":19.34,"total_due":253.74,"total_item_count":2,"total_qty_ordered":2,"updated_at":"2020-05-01 + 11:44:13","weight":1,"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":1,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-05-01 + 11:44:13","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":1,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-05-01 + 11:44:13"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":23,"email":"roni_cost@example.com","entity_id":24,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":253.74,"base_amount_ordered":253.74,"base_shipping_amount":0,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":12,"method":"checkmo","parent_id":12,"shipping_amount":0},"status_histories":[{"comment":"pending","created_at":"2020-04-25 + 16:50:54","entity_id":12,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"canceled","created_at":"2020-04-25 + 16:50:53","entity_id":11,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"pending","created_at":"2020-04-25 + 15:46:13","entity_id":10,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"canceled","created_at":"2020-04-25 + 15:35:28","entity_id":9,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12}],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"Calder","country_id":"US","customer_address_id":22,"email":"roni_cost@example.com","entity_id":23,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"method":"tablerate_bestway","total":{"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"shipping_amount":0,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":1,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-05-01 + 11:44:13","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":1,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-05-01 + 11:44:13"}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[{"code":"US-MI-*-Rate 1","title":"US-MI-*-Rate + 1","percent":8.25,"amount":19.34,"base_amount":19.34}],"item_applied_taxes":[{"type":"product","item_id":24,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":4.55,"base_amount":4.55}]},{"type":"product","item_id":25,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":14.79,"base_amount":14.79}]}],"converting_from_quote":true}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:12 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2qvraag78mu4jjo57pngcne7eg; expires=Fri, 08-May-2020 + 07:51:12 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['8259'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true},{"id":7,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":8,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":9,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":10,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":11,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":12,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":13,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":14,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":15,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":16,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":17,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":18,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":19,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":20,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":21,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":22,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":23,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":24,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":25,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":26,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":27,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:12 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2ug6q8jks9crf3l4fgtnruikvc; expires=Fri, 08-May-2020 + 07:51:12 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['6511'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customerGroups/1 + response: + body: {string: '{"id":1,"code":"General","tax_class_id":3,"tax_class_name":"Retail + Customer"}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:12 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=j4tm6cn6643p2kn35uvrtvgiph; expires=Fri, 08-May-2020 + 07:51:12 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['77'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true},{"id":7,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":8,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":9,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":10,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":11,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":12,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":13,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":14,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":15,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":16,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":17,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":18,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":19,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":20,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":21,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":22,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":23,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":24,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":25,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":26,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":27,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:12 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ktvs24hn4dc0f8u5pi1dhnoacn; expires=Fri, 08-May-2020 + 07:51:12 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['6511'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/MH09-XS-Blue + response: + body: {string: '{"id":181,"sku":"MH09-XS-Blue","name":"Abominable Hoodie-XS-Blue","attribute_set_id":9,"price":69,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:41","updated_at":"2020-03-27 16:06:41","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"}],"stock_item":{"item_id":181,"product_id":181,"stock_id":1,"qty":97,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":283,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh09-blue_main_1.jpg"},{"id":284,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_alt1_1.jpg"},{"id":285,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"abominable-hoodie-xs-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15"]},{"attribute_code":"description","value":"

It + took CoolTech™ weather apparel know-how and lots of wind-resistant fabric + to get the Abominable Hoodie just right. It''s aggressively warm when it needs + to be, while maintaining your comfort in milder climes.<\/p>\n

• Blue + heather hoodie.
• Relaxed fit.
• Moisture-wicking. +
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5593"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:14 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=cvt7uf94o4r77scniu0rof2ehq; expires=Fri, 08-May-2020 + 07:51:14 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2514'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/15 + response: + body: {string: '{"id":15,"parent_id":12,"name":"Hoodies & Sweatshirts","is_active":true,"position":2,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12\/15","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12\/15"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"hoodies-and-sweatshirts-men"},{"attribute_code":"url_path","value":"men\/tops-men\/hoodies-and-sweatshirts-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:14 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=dnpbveck0a1it71thfi4fark1j; expires=Fri, 08-May-2020 + 07:51:14 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['567'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/12 + response: + body: {string: '{"id":12,"parent_id":11,"name":"Tops","is_active":true,"position":1,"level":3,"children":"14,15,16,17","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"tops-men"},{"attribute_code":"url_path","value":"men\/tops-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:14 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=o5a1n7mpj3sriad1e2tt5p18u5; expires=Fri, 08-May-2020 + 07:51:14 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/11 + response: + body: {string: '{"id":11,"parent_id":2,"name":"Men","is_active":true,"position":3,"level":2,"children":"12,13","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/11"},{"attribute_code":"children_count","value":"8"},{"attribute_code":"url_key","value":"men"},{"attribute_code":"url_path","value":"men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:14 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=g2o6fgjj61epg251sgjokaraj5; expires=Fri, 08-May-2020 + 07:51:14 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:14 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=mf0nkrgld6cc5pk5t8ofrj3c30; expires=Fri, 08-May-2020 + 07:51:14 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:14 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=gk3gdb8ij2937o0035ifbn6968; expires=Fri, 08-May-2020 + 07:51:14 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:15 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=6pe0rakf3e2euvk4lha9h1hn8n; expires=Fri, 08-May-2020 + 07:51:15 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:15 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ou6h63272bvvced4v903hnrp30; expires=Fri, 08-May-2020 + 07:51:15 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/11 + response: + body: {string: '{"id":11,"parent_id":2,"name":"Men","is_active":true,"position":3,"level":2,"children":"12,13","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/11"},{"attribute_code":"children_count","value":"8"},{"attribute_code":"url_key","value":"men"},{"attribute_code":"url_path","value":"men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:15 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=kps6m18ht1a9eef3sinttcoc6h; expires=Fri, 08-May-2020 + 07:51:15 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/12 + response: + body: {string: '{"id":12,"parent_id":11,"name":"Tops","is_active":true,"position":1,"level":3,"children":"14,15,16,17","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"tops-men"},{"attribute_code":"url_path","value":"men\/tops-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:15 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=3fmqocdbt9843k2afh6n3e8t94; expires=Fri, 08-May-2020 + 07:51:15 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/15 + response: + body: {string: '{"id":15,"parent_id":12,"name":"Hoodies & Sweatshirts","is_active":true,"position":2,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12\/15","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12\/15"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"hoodies-and-sweatshirts-men"},{"attribute_code":"url_path","value":"men\/tops-men\/hoodies-and-sweatshirts-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:15 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=aq4v49loct6cq1qe43dmia2kun; expires=Fri, 08-May-2020 + 07:51:15 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['567'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/MH09-XS-Blue + response: + body: {string: '{"id":181,"sku":"MH09-XS-Blue","name":"Abominable Hoodie-XS-Blue","attribute_set_id":9,"price":69,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:41","updated_at":"2020-03-27 16:06:41","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"}],"stock_item":{"item_id":181,"product_id":181,"stock_id":1,"qty":97,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":283,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh09-blue_main_1.jpg"},{"id":284,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_alt1_1.jpg"},{"id":285,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"abominable-hoodie-xs-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15"]},{"attribute_code":"description","value":"

It + took CoolTech™ weather apparel know-how and lots of wind-resistant fabric + to get the Abominable Hoodie just right. It''s aggressively warm when it needs + to be, while maintaining your comfort in milder climes.<\/p>\n

• Blue + heather hoodie.
• Relaxed fit.
• Moisture-wicking. +
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5593"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:16 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=781t74qespuj50lckfik9t5i58; expires=Fri, 08-May-2020 + 07:51:16 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2514'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//m/h/mh09-blue_main_1.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['203443'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:51:16 GMT'] + ETag: ['"5e7e2491-31ab3"'] + Expires: ['Sat, 08 May 2021 06:51:16 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 16:06:41 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/RACER + response: + body: {string: '{"id":2051,"sku":"RACER","name":"Racer Back Maxi Dress","attribute_set_id":4,"price":224,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-04-24 + 11:34:18","updated_at":"2020-04-24 11:39:56","extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2051,"product_id":2051,"stock_id":1,"qty":98,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"racer-back-maxi-dress"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"Racer + Back Maxi Dress"},{"attribute_code":"meta_keyword","value":"Racer Back Maxi + Dress"},{"attribute_code":"meta_description","value":"Racer Back Maxi Dress + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"ts_packaging_type","value":"none"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:16 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=osrsde8ck3t032efmm9c8trsom; expires=Fri, 08-May-2020 + 07:51:16 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1661'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/RACER + response: + body: {string: '{"id":2051,"sku":"RACER","name":"Racer Back Maxi Dress","attribute_set_id":4,"price":224,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-04-24 + 11:34:18","updated_at":"2020-04-24 11:39:56","extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2051,"product_id":2051,"stock_id":1,"qty":98,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"racer-back-maxi-dress"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"Racer + Back Maxi Dress"},{"attribute_code":"meta_keyword","value":"Racer Back Maxi + Dress"},{"attribute_code":"meta_description","value":"Racer Back Maxi Dress + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"ts_packaging_type","value":"none"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:51:16 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=rvq1q6699beos3l68f4k0llh9p; expires=Fri, 08-May-2020 + 07:51:16 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1661'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_16.yaml b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_16.yaml new file mode 100644 index 000000000..9ed4d9d39 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_16.yaml @@ -0,0 +1,630 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/16 + response: + body: {string: '{"base_currency_code":"USD","base_discount_amount":0,"base_grand_total":54,"base_discount_tax_compensation_amount":0,"base_shipping_amount":5,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":5,"base_shipping_tax_amount":0,"base_subtotal":49,"base_subtotal_incl_tax":49,"base_tax_amount":0,"base_total_due":54,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":32,"created_at":"2020-05-08 + 06:57:20","customer_email":"guest@guest.com","customer_group_id":0,"customer_is_guest":1,"customer_note_notify":1,"discount_amount":0,"entity_id":16,"global_currency_code":"USD","grand_total":54,"discount_tax_compensation_amount":0,"increment_id":"000000019","is_virtual":0,"order_currency_code":"USD","protect_code":"428f2a274a469a0e61a6f4f4e7113633","quote_id":19,"shipping_amount":5,"shipping_description":"Flat + Rate - Fixed","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":5,"shipping_tax_amount":0,"state":"new","status":"pending","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":49,"subtotal_incl_tax":49,"tax_amount":0,"total_due":54,"total_item_count":1,"total_qty_ordered":1,"updated_at":"2020-05-08 + 06:57:20","weight":1,"items":[{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":49,"base_price":49,"base_price_incl_tax":49,"base_row_invoiced":0,"base_row_total":49,"base_row_total_incl_tax":49,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-05-08 + 06:57:20","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":32,"name":"Portia + Capri","no_discount":0,"order_id":16,"original_price":49,"price":49,"price_incl_tax":49,"product_id":1909,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":43,"row_invoiced":0,"row_total":49,"row_total_incl_tax":49,"row_weight":1,"sku":"WP13-28-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-05-08 + 06:57:20","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5598},{"option_id":"93","option_value":5477}]}}},{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_price":0,"base_row_invoiced":0,"base_row_total":0,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-05-08 + 06:57:20","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"is_qty_decimal":0,"is_virtual":0,"item_id":33,"name":"Portia + Capri-28-Blue","no_discount":0,"order_id":16,"original_price":0,"parent_item_id":32,"price":49,"product_id":1903,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":44,"row_invoiced":0,"row_total":0,"row_weight":0,"sku":"WP13-28-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-05-08 + 06:57:20","weight":1,"parent_item":{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":49,"base_price":49,"base_price_incl_tax":49,"base_row_invoiced":0,"base_row_total":49,"base_row_total_incl_tax":49,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-05-08 + 06:57:20","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":32,"name":"Portia + Capri","no_discount":0,"order_id":16,"original_price":49,"price":49,"price_incl_tax":49,"product_id":1909,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":43,"row_invoiced":0,"row_total":49,"row_total_incl_tax":49,"row_weight":1,"sku":"WP13-28-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-05-08 + 06:57:20","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5598},{"option_id":"93","option_value":5477}]}}},"row_total_incl_tax":0,"base_row_total_incl_tax":0}],"billing_address":{"address_type":"billing","city":"City","country_id":"AF","email":"guest@guest.com","entity_id":32,"firstname":"Guest","lastname":"Guester","parent_id":16,"postcode":"1111","street":["Street"],"telephone":"1111"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":54,"base_amount_ordered":54,"base_shipping_amount":5,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":16,"method":"checkmo","parent_id":16,"shipping_amount":5},"status_histories":[],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"City","country_id":"AF","customer_address_id":0,"email":"guest@guest.com","entity_id":31,"firstname":"Guest","lastname":"Guester","parent_id":16,"postcode":"1111","street":["Street"],"telephone":"1111"},"method":"flatrate_flatrate","total":{"base_shipping_amount":5,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":5,"base_shipping_tax_amount":0,"shipping_amount":5,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":5,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":49,"base_price":49,"base_price_incl_tax":49,"base_row_invoiced":0,"base_row_total":49,"base_row_total_incl_tax":49,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-05-08 + 06:57:20","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":32,"name":"Portia + Capri","no_discount":0,"order_id":16,"original_price":49,"price":49,"price_incl_tax":49,"product_id":1909,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":43,"row_invoiced":0,"row_total":49,"row_total_incl_tax":49,"row_weight":1,"sku":"WP13-28-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-05-08 + 06:57:20","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5598},{"option_id":"93","option_value":5477}]}}},{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_price":0,"base_row_invoiced":0,"base_row_total":0,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-05-08 + 06:57:20","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"is_qty_decimal":0,"is_virtual":0,"item_id":33,"name":"Portia + Capri-28-Blue","no_discount":0,"order_id":16,"original_price":0,"parent_item_id":32,"price":49,"product_id":1903,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":44,"row_invoiced":0,"row_total":0,"row_weight":0,"sku":"WP13-28-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-05-08 + 06:57:20","weight":1,"parent_item":{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":49,"base_price":49,"base_price_incl_tax":49,"base_row_invoiced":0,"base_row_total":49,"base_row_total_incl_tax":49,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-05-08 + 06:57:20","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":32,"name":"Portia + Capri","no_discount":0,"order_id":16,"original_price":49,"price":49,"price_incl_tax":49,"product_id":1909,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":43,"row_invoiced":0,"row_total":49,"row_total_incl_tax":49,"row_weight":1,"sku":"WP13-28-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-05-08 + 06:57:20","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5598},{"option_id":"93","option_value":5477}]}}},"row_total_incl_tax":0,"base_row_total_incl_tax":0}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[],"item_applied_taxes":[]}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:16 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=gq2m40pqn0g755o8etdhukcvcv; expires=Fri, 08-May-2020 + 07:59:16 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['8924'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/WP13-28-Blue + response: + body: {string: '{"id":1903,"sku":"WP13-28-Blue","name":"Portia Capri-28-Blue","attribute_set_id":10,"price":49,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:07:11","updated_at":"2020-03-27 16:07:11","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"27"},{"position":0,"category_id":"32"},{"position":0,"category_id":"34"},{"position":0,"category_id":"2"}],"stock_item":{"item_id":1903,"product_id":1903,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":3192,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/w\/p\/wp13-blue_main_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/w\/p\/wp13-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/w\/p\/wp13-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/w\/p\/wp13-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"portia-capri-28-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["27","32","34","2"]},{"attribute_code":"description","value":"

From + yoga at dawn to evenings curled up with a book, our Portia Capri gives you + the comfort and freedom to cruise through the day. The high-waisted design + keeps you covered while you''re bending and stretching, while contrast stripes + promise a dash of sporty style.<\/p>\n

• Salmon heather capri sweats.
• Relaxed fit, high waist.
• Inseam: 21\".
• + Wide elastic waistband.
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5598"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:16 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=b4fuqn4ks1aotreaeuvnpuu4pp; expires=Fri, 08-May-2020 + 07:59:16 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2483'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/27 + response: + body: {string: '{"id":27,"parent_id":22,"name":"Pants","is_active":true,"position":1,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/20\/22\/27","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/20\/22\/27"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"pants-women"},{"attribute_code":"url_path","value":"women\/bottoms-women\/pants-women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:16 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2tl30snqbs1qlqg9r9nm37bonu; expires=Fri, 08-May-2020 + 07:59:16 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['526'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/22 + response: + body: {string: '{"id":22,"parent_id":20,"name":"Bottoms","is_active":true,"position":2,"level":3,"children":"27,28","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20\/22","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/20\/22"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"bottoms-women"},{"attribute_code":"url_path","value":"women\/bottoms-women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2hegdapoh8rua1ns001ugliplo; expires=Fri, 08-May-2020 + 07:59:16 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['514'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/20 + response: + body: {string: '{"id":20,"parent_id":2,"name":"Women","is_active":true,"position":2,"level":2,"children":"21,22","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/20"},{"attribute_code":"children_count","value":"9"},{"attribute_code":"url_key","value":"women"},{"attribute_code":"url_path","value":"women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vnj1db8ec79jo7knmshm9t645d; expires=Fri, 08-May-2020 + 07:59:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['529'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=8sf1d237brgpstpo1o5b4jm9m3; expires=Fri, 08-May-2020 + 07:59:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=liebunr6q3npbi42b072iap7qf; expires=Fri, 08-May-2020 + 07:59:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vs0ujqklgriu071lsgiphiip9t; expires=Fri, 08-May-2020 + 07:59:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2j40t0miadum8h0cafnan90rv5; expires=Fri, 08-May-2020 + 07:59:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/20 + response: + body: {string: '{"id":20,"parent_id":2,"name":"Women","is_active":true,"position":2,"level":2,"children":"21,22","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/20"},{"attribute_code":"children_count","value":"9"},{"attribute_code":"url_key","value":"women"},{"attribute_code":"url_path","value":"women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=q10ck8304ed498kvr50hjbqjcr; expires=Fri, 08-May-2020 + 07:59:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['529'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/22 + response: + body: {string: '{"id":22,"parent_id":20,"name":"Bottoms","is_active":true,"position":2,"level":3,"children":"27,28","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20\/22","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/20\/22"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"bottoms-women"},{"attribute_code":"url_path","value":"women\/bottoms-women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=rsr67m24340eciilhkpaks3eq0; expires=Fri, 08-May-2020 + 07:59:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['514'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/27 + response: + body: {string: '{"id":27,"parent_id":22,"name":"Pants","is_active":true,"position":1,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/20\/22\/27","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/20\/22\/27"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"pants-women"},{"attribute_code":"url_path","value":"women\/bottoms-women\/pants-women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4dndvd8hdbi8vdcp4m6mko861v; expires=Fri, 08-May-2020 + 07:59:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['526'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/32 + response: + body: {string: '{"id":32,"parent_id":29,"name":"Pants","is_active":true,"position":3,"level":3,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/29\/32","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/29\/32"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"pants-all"},{"attribute_code":"url_path","value":"promotions\/pants-all"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=n7jug9uchckdara1smq8hc597b; expires=Fri, 08-May-2020 + 07:59:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/29 + response: + body: {string: '{"id":29,"parent_id":2,"name":"Promotions","is_active":false,"position":6,"level":2,"children":"30,31,32,33","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:37","path":"1\/2\/29","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/29"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"promotions"},{"attribute_code":"url_path","value":"promotions"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=klcaitc0nu2c6grl4dmq421hk2; expires=Fri, 08-May-2020 + 07:59:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['552'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/29 + response: + body: {string: '{"id":29,"parent_id":2,"name":"Promotions","is_active":false,"position":6,"level":2,"children":"30,31,32,33","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:37","path":"1\/2\/29","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/29"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"promotions"},{"attribute_code":"url_path","value":"promotions"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4a58rc63nthah9uqc7g0344snm; expires=Fri, 08-May-2020 + 07:59:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['552'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/32 + response: + body: {string: '{"id":32,"parent_id":29,"name":"Pants","is_active":true,"position":3,"level":3,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/29\/32","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/29\/32"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"pants-all"},{"attribute_code":"url_path","value":"promotions\/pants-all"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=md24a2ot2ebie91kn2lsqv0g7s; expires=Fri, 08-May-2020 + 07:59:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/34 + response: + body: {string: '{"id":34,"parent_id":7,"name":"Erin Recommends","is_active":true,"position":2,"level":3,"children":"","created_at":"2020-03-27 + 16:06:37","updated_at":"2020-03-27 16:06:37","path":"1\/2\/7\/34","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/7\/34"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"erin-recommends"},{"attribute_code":"url_path","value":"collections\/erin-recommends"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=3fluggtoc6a39fpbh6nhm5fhi1; expires=Fri, 08-May-2020 + 07:59:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['525'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/7 + response: + body: {string: '{"id":7,"parent_id":2,"name":"Collections","is_active":false,"position":5,"level":2,"children":"34,35,36,39,40,8","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:12:21","path":"1\/2\/7","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/7"},{"attribute_code":"children_count","value":"6"},{"attribute_code":"url_key","value":"collections"},{"attribute_code":"url_path","value":"collections"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=72044jhb0r5q5p0dhehrv23t51; expires=Fri, 08-May-2020 + 07:59:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['557'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/7 + response: + body: {string: '{"id":7,"parent_id":2,"name":"Collections","is_active":false,"position":5,"level":2,"children":"34,35,36,39,40,8","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:12:21","path":"1\/2\/7","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/7"},{"attribute_code":"children_count","value":"6"},{"attribute_code":"url_key","value":"collections"},{"attribute_code":"url_path","value":"collections"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=65h8e7n9iehc9be5no4v0kksb8; expires=Fri, 08-May-2020 + 07:59:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['557'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/34 + response: + body: {string: '{"id":34,"parent_id":7,"name":"Erin Recommends","is_active":true,"position":2,"level":3,"children":"","created_at":"2020-03-27 + 16:06:37","updated_at":"2020-03-27 16:06:37","path":"1\/2\/7\/34","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/7\/34"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"erin-recommends"},{"attribute_code":"url_path","value":"collections\/erin-recommends"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:19 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=tllivomkcqhioq0h91ib6hth55; expires=Fri, 08-May-2020 + 07:59:19 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['525'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/WP13-28-Blue + response: + body: {string: '{"id":1903,"sku":"WP13-28-Blue","name":"Portia Capri-28-Blue","attribute_set_id":10,"price":49,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:07:11","updated_at":"2020-03-27 16:07:11","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"27"},{"position":0,"category_id":"32"},{"position":0,"category_id":"34"},{"position":0,"category_id":"2"}],"stock_item":{"item_id":1903,"product_id":1903,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":3192,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/w\/p\/wp13-blue_main_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/w\/p\/wp13-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/w\/p\/wp13-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/w\/p\/wp13-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"portia-capri-28-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["27","32","34","2"]},{"attribute_code":"description","value":"

From + yoga at dawn to evenings curled up with a book, our Portia Capri gives you + the comfort and freedom to cruise through the day. The high-waisted design + keeps you covered while you''re bending and stretching, while contrast stripes + promise a dash of sporty style.<\/p>\n

• Salmon heather capri sweats.
• Relaxed fit, high waist.
• Inseam: 21\".
• + Wide elastic waistband.
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5598"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:19 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=to6t8h8510kdhhjg76mlhqteeh; expires=Fri, 08-May-2020 + 07:59:19 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2483'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//w/p/wp13-blue_main_1.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['61756'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:59:19 GMT'] + ETag: ['"5e7e24af-f13c"'] + Expires: ['Sat, 08 May 2021 06:59:19 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 16:07:11 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_9.yaml b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_9.yaml new file mode 100644 index 000000000..09930ab37 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/import_sale_order_9.yaml @@ -0,0 +1,588 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/9 + response: + body: {string: '{"base_currency_code":"USD","base_discount_amount":0,"base_grand_total":396.87,"base_discount_tax_compensation_amount":0,"base_shipping_amount":5,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":5,"base_shipping_tax_amount":0,"base_subtotal":362,"base_subtotal_incl_tax":391.87,"base_tax_amount":29.87,"base_total_due":396.87,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":18,"created_at":"2020-04-24 + 15:50:17","customer_dob":"1973-12-15 00:00:00","customer_email":"roni_cost@example.com","customer_firstname":"Veronica","customer_gender":2,"customer_group_id":1,"customer_id":1,"customer_is_guest":0,"customer_lastname":"Costello","customer_note_notify":1,"discount_amount":0,"entity_id":9,"global_currency_code":"USD","grand_total":396.87,"discount_tax_compensation_amount":0,"increment_id":"000000013","is_virtual":0,"order_currency_code":"USD","protect_code":"47a34a759c6cb3c4fc25b84bc767b540","quote_id":12,"shipping_amount":5,"shipping_description":"Best + Way - Table Rate","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":5,"shipping_tax_amount":0,"state":"new","status":"pending","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":362,"subtotal_incl_tax":391.87,"tax_amount":29.87,"total_due":396.87,"total_item_count":2,"total_qty_ordered":3,"updated_at":"2020-04-24 + 15:50:17","weight":2,"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.7,"base_row_invoiced":0,"base_row_total":138,"base_row_total_incl_tax":149.39,"base_tax_amount":11.39,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":16,"name":"Abominable + Hoodie","no_discount":0,"order_id":9,"original_price":69,"price":69,"price_incl_tax":74.7,"product_id":196,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":27,"row_invoiced":0,"row_total":138,"row_total_incl_tax":149.39,"row_weight":2,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":11.39,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 15:50:17","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_price":0,"base_row_invoiced":0,"base_row_total":0,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"is_qty_decimal":0,"is_virtual":0,"item_id":17,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":9,"original_price":0,"parent_item_id":16,"price":69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":28,"row_invoiced":0,"row_total":0,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-04-24 + 15:50:17","weight":1,"parent_item":{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.7,"base_row_invoiced":0,"base_row_total":138,"base_row_total_incl_tax":149.39,"base_tax_amount":11.39,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":16,"name":"Abominable + Hoodie","no_discount":0,"order_id":9,"original_price":69,"price":69,"price_incl_tax":74.7,"product_id":196,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":27,"row_invoiced":0,"row_total":138,"row_total_incl_tax":149.39,"row_weight":2,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":11.39,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 15:50:17","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},"row_total_incl_tax":0,"base_row_total_incl_tax":0},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":224,"base_row_total_incl_tax":242.48,"base_tax_amount":18.48,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":18,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":9,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":29,"row_invoiced":0,"row_total":224,"row_total_incl_tax":242.48,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":18.48,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 15:50:17"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":17,"email":"roni_cost@example.com","entity_id":18,"firstname":"Veronica","lastname":"Costello","parent_id":9,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":396.87,"base_amount_ordered":396.87,"base_shipping_amount":5,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":9,"method":"checkmo","parent_id":9,"shipping_amount":5},"status_histories":[],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"Calder","country_id":"US","customer_address_id":1,"email":"roni_cost@example.com","entity_id":17,"firstname":"Veronica","lastname":"Costello","parent_id":9,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"method":"tablerate_bestway","total":{"base_shipping_amount":5,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":5,"base_shipping_tax_amount":0,"shipping_amount":5,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":5,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.7,"base_row_invoiced":0,"base_row_total":138,"base_row_total_incl_tax":149.39,"base_tax_amount":11.39,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":16,"name":"Abominable + Hoodie","no_discount":0,"order_id":9,"original_price":69,"price":69,"price_incl_tax":74.7,"product_id":196,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":27,"row_invoiced":0,"row_total":138,"row_total_incl_tax":149.39,"row_weight":2,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":11.39,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 15:50:17","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},{"amount_refunded":0,"base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_price":0,"base_row_invoiced":0,"base_row_total":0,"base_tax_amount":0,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"is_qty_decimal":0,"is_virtual":0,"item_id":17,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":9,"original_price":0,"parent_item_id":16,"price":69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":28,"row_invoiced":0,"row_total":0,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":0,"tax_invoiced":0,"tax_percent":0,"updated_at":"2020-04-24 + 15:50:17","weight":1,"parent_item":{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.7,"base_row_invoiced":0,"base_row_total":138,"base_row_total_incl_tax":149.39,"base_tax_amount":11.39,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":16,"name":"Abominable + Hoodie","no_discount":0,"order_id":9,"original_price":69,"price":69,"price_incl_tax":74.7,"product_id":196,"product_type":"configurable","qty_canceled":0,"qty_invoiced":0,"qty_ordered":2,"qty_refunded":0,"qty_shipped":0,"quote_item_id":27,"row_invoiced":0,"row_total":138,"row_total_incl_tax":149.39,"row_weight":2,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":11.39,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 15:50:17","weight":1,"product_option":{"extension_attributes":{"configurable_item_options":[{"option_id":"152","option_value":5593},{"option_id":"93","option_value":5477}]}}},"row_total_incl_tax":0,"base_row_total_incl_tax":0},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":0,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":224,"base_row_total_incl_tax":242.48,"base_tax_amount":18.48,"base_tax_invoiced":0,"created_at":"2020-04-24 + 15:50:17","discount_amount":0,"discount_invoiced":0,"discount_percent":0,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":18,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":9,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":29,"row_invoiced":0,"row_total":224,"row_total_incl_tax":242.48,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":18.48,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-24 + 15:50:17"}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[{"code":"US-MI-*-Rate 1","title":"US-MI-*-Rate + 1","percent":8.25,"amount":29.87,"base_amount":29.87}],"item_applied_taxes":[{"type":"product","item_id":16,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":11.39,"base_amount":11.39}]},{"type":"product","item_id":18,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":18.48,"base_amount":18.48}]}],"converting_from_quote":true}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:06 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=adefjde1d2onpdt979gvr13555; expires=Fri, 24-Apr-2020 + 16:57:06 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['12008'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true},{"id":7,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":8,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":9,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":10,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":11,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":12,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":13,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":14,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":15,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":16,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":17,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:06 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=jje11p1t4jgpcmu6mqih5u9oi6; expires=Fri, 24-Apr-2020 + 16:57:06 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3751'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customerGroups/1 + response: + body: {string: '{"id":1,"code":"General","tax_class_id":3,"tax_class_name":"Retail + Customer"}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:06 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=m2hphi745ifqvs1cdubhcrlb0b; expires=Fri, 24-Apr-2020 + 16:57:06 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['77'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true},{"id":7,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":8,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":9,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":10,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":11,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":12,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":13,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":14,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":15,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":16,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"},{"id":17,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello"}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:06 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=jqcsd03h0el5tujq820kbbs06m; expires=Fri, 24-Apr-2020 + 16:57:06 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3751'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/MH09-XS-Blue + response: + body: {string: '{"id":181,"sku":"MH09-XS-Blue","name":"Abominable Hoodie-XS-Blue","attribute_set_id":9,"price":69,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:41","updated_at":"2020-03-27 16:06:41","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"}],"stock_item":{"item_id":181,"product_id":181,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":283,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh09-blue_main_1.jpg"},{"id":284,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_alt1_1.jpg"},{"id":285,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"abominable-hoodie-xs-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15"]},{"attribute_code":"description","value":"

It + took CoolTech™ weather apparel know-how and lots of wind-resistant fabric + to get the Abominable Hoodie just right. It''s aggressively warm when it needs + to be, while maintaining your comfort in milder climes.<\/p>\n

• Blue + heather hoodie.
• Relaxed fit.
• Moisture-wicking. +
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5593"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:07 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=8sib8fpf7u3j37c90fim2su0ut; expires=Fri, 24-Apr-2020 + 16:57:07 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2515'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/15 + response: + body: {string: '{"id":15,"parent_id":12,"name":"Hoodies & Sweatshirts","is_active":true,"position":2,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12\/15","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12\/15"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"hoodies-and-sweatshirts-men"},{"attribute_code":"url_path","value":"men\/tops-men\/hoodies-and-sweatshirts-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:07 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vp1ajs4330vrpovn35toopmg68; expires=Fri, 24-Apr-2020 + 16:57:07 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['567'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/12 + response: + body: {string: '{"id":12,"parent_id":11,"name":"Tops","is_active":true,"position":1,"level":3,"children":"14,15,16,17","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"tops-men"},{"attribute_code":"url_path","value":"men\/tops-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=9gmqpcsbgj50einal96ti364qd; expires=Fri, 24-Apr-2020 + 16:57:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/11 + response: + body: {string: '{"id":11,"parent_id":2,"name":"Men","is_active":true,"position":3,"level":2,"children":"12,13","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/11"},{"attribute_code":"children_count","value":"8"},{"attribute_code":"url_key","value":"men"},{"attribute_code":"url_path","value":"men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=job07691m12l5k04hfad394j2h; expires=Fri, 24-Apr-2020 + 16:57:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=0vbd55fnt43t7s8m9vaov88kfc; expires=Fri, 24-Apr-2020 + 16:57:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=853qgtenqg41ibs1odombp4247; expires=Fri, 24-Apr-2020 + 16:57:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=phfgodv5o2bpemct95rn79mhpe; expires=Fri, 24-Apr-2020 + 16:57:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vf4u4bht5gsdc2d5v08fms6qva; expires=Fri, 24-Apr-2020 + 16:57:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/11 + response: + body: {string: '{"id":11,"parent_id":2,"name":"Men","is_active":true,"position":3,"level":2,"children":"12,13","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/11"},{"attribute_code":"children_count","value":"8"},{"attribute_code":"url_key","value":"men"},{"attribute_code":"url_path","value":"men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=bc54dstl13pttkp3q5k4e9rvhk; expires=Fri, 24-Apr-2020 + 16:57:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/12 + response: + body: {string: '{"id":12,"parent_id":11,"name":"Tops","is_active":true,"position":1,"level":3,"children":"14,15,16,17","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12"},{"attribute_code":"children_count","value":"4"},{"attribute_code":"url_key","value":"tops-men"},{"attribute_code":"url_path","value":"men\/tops-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:09 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=0g2788ea8gu75vk87rpvl7fful; expires=Fri, 24-Apr-2020 + 16:57:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['505'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/15 + response: + body: {string: '{"id":15,"parent_id":12,"name":"Hoodies & Sweatshirts","is_active":true,"position":2,"level":4,"children":"","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-03-27 16:06:36","path":"1\/2\/11\/12\/15","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/11\/12\/15"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"hoodies-and-sweatshirts-men"},{"attribute_code":"url_path","value":"men\/tops-men\/hoodies-and-sweatshirts-men"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:09 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=9j8pj2061maa6ap530l8as71nm; expires=Fri, 24-Apr-2020 + 16:57:09 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['567'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/MH09-XS-Blue + response: + body: {string: '{"id":181,"sku":"MH09-XS-Blue","name":"Abominable Hoodie-XS-Blue","attribute_set_id":9,"price":69,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:41","updated_at":"2020-03-27 16:06:41","weight":1,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"}],"stock_item":{"item_id":181,"product_id":181,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":283,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh09-blue_main_1.jpg"},{"id":284,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_alt1_1.jpg"},{"id":285,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh09-blue_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh09-blue_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"abominable-hoodie-xs-blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15"]},{"attribute_code":"description","value":"

It + took CoolTech™ weather apparel know-how and lots of wind-resistant fabric + to get the Abominable Hoodie just right. It''s aggressively warm when it needs + to be, while maintaining your comfort in milder climes.<\/p>\n

• Blue + heather hoodie.
• Relaxed fit.
• Moisture-wicking. +
• Machine wash\/dry.<\/p>"},{"attribute_code":"size","value":"5593"},{"attribute_code":"color","value":"5477"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:09 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=g842i74tpauvvk8jqc16dp3npc; expires=Fri, 24-Apr-2020 + 16:57:09 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2515'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//m/h/mh09-blue_main_1.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['203443'] + Content-Type: [image/jpeg] + Date: ['Fri, 24 Apr 2020 15:57:09 GMT'] + ETag: ['"5e7e2491-31ab3"'] + Expires: ['Sat, 24 Apr 2021 15:57:09 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 16:06:41 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/RACER + response: + body: {string: '{"id":2051,"sku":"RACER","name":"Racer Back Maxi Dress","attribute_set_id":4,"price":224,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-04-24 + 11:34:18","updated_at":"2020-04-24 11:39:56","extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2051,"product_id":2051,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"racer-back-maxi-dress"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"Racer + Back Maxi Dress"},{"attribute_code":"meta_keyword","value":"Racer Back Maxi + Dress"},{"attribute_code":"meta_description","value":"Racer Back Maxi Dress + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"ts_packaging_type","value":"none"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:10 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=d51m108m9b4m1rv4ssclvd9our; expires=Fri, 24-Apr-2020 + 16:57:09 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1662'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/RACER + response: + body: {string: '{"id":2051,"sku":"RACER","name":"Racer Back Maxi Dress","attribute_set_id":4,"price":224,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-04-24 + 11:34:18","updated_at":"2020-04-24 11:39:56","extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2051,"product_id":2051,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"racer-back-maxi-dress"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"Racer + Back Maxi Dress"},{"attribute_code":"meta_keyword","value":"Racer Back Maxi + Dress"},{"attribute_code":"meta_description","value":"Racer Back Maxi Dress + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"ts_packaging_type","value":"none"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 15:57:10 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=qtj74ethc5q85p90n7odhcggoj; expires=Fri, 24-Apr-2020 + 16:57:10 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1662'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/metadata.yaml b/connector_magento/tests/magento2/fixtures/cassettes/metadata.yaml new file mode 100644 index 000000000..ac65d06ce --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/metadata.yaml @@ -0,0 +1,185 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/store/websites?fields=id + response: + body: {string: '[{"id":1},{"id":0}]'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 17 Apr 2020 17:31:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4hhth2u2r5e5t21fk4c3idq2s2; expires=Fri, 17-Apr-2020 + 18:31:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['19'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/store/websites + response: + body: {string: '[{"id":1,"code":"base","name":"Main Website","default_group_id":1},{"id":0,"code":"admin","name":"Admin","default_group_id":0}]'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 17 Apr 2020 17:31:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=9235d5p8gvaf4jfkv3dnnun581; expires=Fri, 17-Apr-2020 + 18:31:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['127'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/store/storeGroups?fields=id + response: + body: {string: '[{"id":0},{"id":1}]'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 17 Apr 2020 17:31:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=65qd2k44nkg6vkhklim560muic; expires=Fri, 17-Apr-2020 + 18:31:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['19'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/store/storeGroups + response: + body: {string: '[{"id":0,"website_id":0,"root_category_id":0,"default_store_id":0,"name":"Default","code":"default"},{"id":1,"website_id":1,"root_category_id":2,"default_store_id":1,"name":"Main + Website Store","code":"main_website_store"}]'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 17 Apr 2020 17:31:08 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vr1paqb90t55b364anm0932nrc; expires=Fri, 17-Apr-2020 + 18:31:08 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['223'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/store/storeConfigs?fields=id + response: + body: {string: '[{"id":1}]'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 17 Apr 2020 17:31:09 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2pv2d5ulnpcpnv59e9ik7rgk4s; expires=Fri, 17-Apr-2020 + 18:31:09 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['10'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/store/storeViews + response: + body: {string: '[{"id":1,"code":"default","name":"Default Store View","website_id":1,"store_group_id":1,"is_active":1},{"id":0,"code":"admin","name":"Admin","website_id":0,"store_group_id":0,"is_active":1}]'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 17 Apr 2020 17:31:09 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=pnj8h0dsnpfeuufl2nkuvo5kn3; expires=Fri, 17-Apr-2020 + 18:31:09 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['190'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/store/storeConfigs + response: + body: {string: '[{"id":1,"code":"default","website_id":1,"locale":"en_US","base_currency_code":"USD","default_display_currency_code":"USD","timezone":"Europe\/Amsterdam","weight_unit":"lbs","base_url":"http:\/\/magento\/","base_link_url":"http:\/\/magento\/index.php\/","base_static_url":"http:\/\/magento\/static\/version1585325535\/","base_media_url":"http:\/\/magento\/media\/","secure_base_url":"http:\/\/magento\/","secure_base_link_url":"http:\/\/magento\/index.php\/","secure_base_static_url":"http:\/\/magento\/static\/version1585325535\/","secure_base_media_url":"http:\/\/magento\/media\/"}]'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 17 Apr 2020 17:31:09 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=bjodpjblut2cg3imtc9fck87in; expires=Fri, 17-Apr-2020 + 18:31:09 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['657'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_export_invoice.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_export_invoice.yaml new file mode 100644 index 000000000..4ae9ae5cd --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_export_invoice.yaml @@ -0,0 +1,31 @@ +interactions: +- request: + body: '{"capture": false, "items": [{"orderItemId": "32", "qty": 1.0}], "comment": + {"comment": "Invoice Created", "isVisibleOnFront": 0}, "appendComment": false}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['154'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/order/16/invoice + response: + body: {string: '"4"'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:59:21 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ch0f474sjmob975kuq2hs0m2g7; expires=Fri, 08-May-2020 + 07:59:21 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_export_picking_complete.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_export_picking_complete.yaml new file mode 100644 index 000000000..58b6ce5eb --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_export_picking_complete.yaml @@ -0,0 +1,31 @@ +interactions: +- request: + body: '{"items": [{"order_item_id": "24", "qty": 1.0}, {"order_item_id": "25", + "qty": 1.0}]}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['85'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/order/12/ship + response: + body: {string: '"3"'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 11:44:13 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=7cl7dfccgm8e96bt4u4t06tsml; expires=Fri, 01-May-2020 + 12:44:13 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_export_picking_partial.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_export_picking_partial.yaml new file mode 100644 index 000000000..589662e4c --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_export_picking_partial.yaml @@ -0,0 +1,30 @@ +interactions: +- request: + body: '{"items": [{"order_item_id": "24", "qty": 1.0}]}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['48'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/order/12/ship + response: + body: {string: '"5"'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 13:02:55 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=fhd3ms7g60rj32r1tfkromkmfa; expires=Fri, 01-May-2020 + 14:02:55 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_export_tracking_number.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_export_tracking_number.yaml new file mode 100644 index 000000000..87d28fbe9 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_export_tracking_number.yaml @@ -0,0 +1,34 @@ +interactions: +- request: + body: '{"entity": {"order_id": "12", "parent_id": "3", "weight": 0, "qty": 1, + "description": "WH/OUT/00082", "track_number": "XYZ", "title": "Your shipment", + "carrier_code": "tablerate"}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['180'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/shipment/track + response: + body: {string: '{"order_id":12,"created_at":"2020-05-01 15:50:52","entity_id":3,"parent_id":3,"updated_at":"2020-05-01 + 15:50:52","weight":0,"qty":1,"description":"WH\/OUT\/00082","track_number":"XYZ","title":"Your + shipment","carrier_code":"tablerate"}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 15:50:52 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vq5m70b7dqm8rr0nevnj7ns4oq; expires=Fri, 01-May-2020 + 16:50:52 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['235'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_existing_partner_category.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_existing_partner_category.yaml new file mode 100644 index 000000000..6e8e30f9f --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_existing_partner_category.yaml @@ -0,0 +1,29 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customerGroups/2 + response: + body: {string: '{"id":2,"code":"Wholesale","tax_class_id":3,"tax_class_name":"Retail + Customer"}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 18 Apr 2020 07:13:32 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=0vk0n5fm7gcelemb8tpseakl16; expires=Sat, 18-Apr-2020 + 08:13:32 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['79'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_category.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_category.yaml new file mode 100644 index 000000000..be9d0b97f --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_category.yaml @@ -0,0 +1,29 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customerGroups/2 + response: + body: {string: '{"id":2,"code":"Wholesale","tax_class_id":3,"tax_class_name":"Retail + Customer"}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 17:19:03 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=rngksee0a5c5m8hlmdni85l7oe; expires=Fri, 24-Apr-2020 + 18:19:03 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['79'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_company_1_address.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_company_1_address.yaml new file mode 100644 index 000000000..89f034a00 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_company_1_address.yaml @@ -0,0 +1,58 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/5 + response: + body: {string: '{"id":5,"group_id":1,"default_billing":"6","default_shipping":"6","created_at":"2020-04-24 + 09:52:27","updated_at":"2020-04-24 09:53:22","created_in":"Default Store View","email":"drew@france.com","firstname":"Drew","lastname":"France","gender":0,"store_id":1,"website_id":1,"addresses":[{"id":6,"customer_id":5,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"FK","street":["Company + address"],"company":"DF Services","telephone":"111","postcode":"111","city":"City","firstname":"Drew","lastname":"France","default_shipping":true,"default_billing":true}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 09:54:51 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=5u68dhtnqq73vp16u85k9ui76g; expires=Fri, 24-Apr-2020 + 10:54:51 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['668'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/5 + response: + body: {string: '{"id":5,"group_id":1,"default_billing":"6","default_shipping":"6","created_at":"2020-04-24 + 09:52:27","updated_at":"2020-04-24 09:53:22","created_in":"Default Store View","email":"drew@france.com","firstname":"Drew","lastname":"France","gender":0,"store_id":1,"website_id":1,"addresses":[{"id":6,"customer_id":5,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"FK","street":["Company + address"],"company":"DF Services","telephone":"111","postcode":"111","city":"City","firstname":"Drew","lastname":"France","default_shipping":true,"default_billing":true}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 09:54:51 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=gtt4563b8i2iib1i1g46r6eg4j; expires=Fri, 24-Apr-2020 + 10:54:51 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['668'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_company_2_addresses.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_company_2_addresses.yaml new file mode 100644 index 000000000..1c8732d5b --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_company_2_addresses.yaml @@ -0,0 +1,60 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/4 + response: + body: {string: '{"id":4,"group_id":1,"default_billing":"4","default_shipping":"5","created_at":"2020-04-24 + 08:55:13","updated_at":"2020-04-24 08:56:20","created_in":"Default Store View","email":"clay@lock.nl","firstname":"Clay","lastname":"Lock","gender":0,"store_id":1,"website_id":1,"addresses":[{"id":4,"customer_id":4,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"AF","street":["Billing"],"company":"Clay + Company","telephone":"111","postcode":"111","city":"City","firstname":"Clay","lastname":"Lock","default_billing":true},{"id":5,"customer_id":4,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"AF","street":["Shipping"],"company":"Clay + Company","telephone":"111","postcode":"111","city":"City","firstname":"Clay","lastname":"Lock","default_shipping":true}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 09:50:44 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=u59dshdtm421ldf7uf7kp2tr0t; expires=Fri, 24-Apr-2020 + 10:50:44 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['902'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/4 + response: + body: {string: '{"id":4,"group_id":1,"default_billing":"4","default_shipping":"5","created_at":"2020-04-24 + 08:55:13","updated_at":"2020-04-24 08:56:20","created_in":"Default Store View","email":"clay@lock.nl","firstname":"Clay","lastname":"Lock","gender":0,"store_id":1,"website_id":1,"addresses":[{"id":4,"customer_id":4,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"AF","street":["Billing"],"company":"Clay + Company","telephone":"111","postcode":"111","city":"City","firstname":"Clay","lastname":"Lock","default_billing":true},{"id":5,"customer_id":4,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"AF","street":["Shipping"],"company":"Clay + Company","telephone":"111","postcode":"111","city":"City","firstname":"Clay","lastname":"Lock","default_shipping":true}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 09:50:44 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=m5h6nbvsa3dnb6i6eqhqnv5j0p; expires=Fri, 24-Apr-2020 + 10:50:44 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['902'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_individual_1_address.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_individual_1_address.yaml new file mode 100644 index 000000000..46a86c388 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_individual_1_address.yaml @@ -0,0 +1,58 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 06:27:51 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=u3qudam5uajg29eiiqfg2v2s11; expires=Fri, 24-Apr-2020 + 07:27:51 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['718'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/1 + response: + body: {string: '{"id":1,"group_id":1,"default_billing":"1","default_shipping":"1","created_at":"2020-03-27 + 16:12:15","updated_at":"2020-03-27 16:12:15","created_in":"Default Store View","dob":"1973-12-15","email":"roni_cost@example.com","firstname":"Veronica","lastname":"Costello","gender":2,"store_id":1,"website_id":1,"addresses":[{"id":1,"customer_id":1,"region":{"region_code":"MI","region":"Michigan","region_id":33},"region_id":33,"country_id":"US","street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326","postcode":"49628-7978","city":"Calder","firstname":"Veronica","lastname":"Costello","default_shipping":true,"default_billing":true}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 06:27:51 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=1l9u7i45shda9ojdssc2b981qb; expires=Fri, 24-Apr-2020 + 07:27:51 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['718'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_individual_2_addresses.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_individual_2_addresses.yaml new file mode 100644 index 000000000..128d750db --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_individual_2_addresses.yaml @@ -0,0 +1,56 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/3 + response: + body: {string: '{"id":3,"group_id":1,"default_billing":"2","default_shipping":"3","created_at":"2020-04-24 + 07:10:13","updated_at":"2020-04-24 07:14:11","created_in":"Default Store View","email":"tay@ray.com","firstname":"Tay","lastname":"Ray","gender":0,"store_id":1,"website_id":1,"addresses":[{"id":2,"customer_id":3,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"AF","street":["Address"],"telephone":"1111","postcode":"1111","city":"City","firstname":"Tay","lastname":"Ray","default_billing":true},{"id":3,"customer_id":3,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"AF","street":["Shipping"],"telephone":"1111","postcode":"1111","city":"City","firstname":"Tay","lastname":"Ray","default_shipping":true}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 07:23:37 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=0oak90f0s52et2c99g7efroccp; expires=Fri, 24-Apr-2020 + 08:23:37 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['849'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/3 + response: + body: {string: '{"id":3,"group_id":1,"default_billing":"2","default_shipping":"3","created_at":"2020-04-24 + 07:10:13","updated_at":"2020-04-24 07:14:11","created_in":"Default Store View","email":"tay@ray.com","firstname":"Tay","lastname":"Ray","gender":0,"store_id":1,"website_id":1,"addresses":[{"id":2,"customer_id":3,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"AF","street":["Address"],"telephone":"1111","postcode":"1111","city":"City","firstname":"Tay","lastname":"Ray","default_billing":true},{"id":3,"customer_id":3,"region":{"region_code":null,"region":null,"region_id":0},"region_id":0,"country_id":"AF","street":["Shipping"],"telephone":"1111","postcode":"1111","city":"City","firstname":"Tay","lastname":"Ray","default_shipping":true}],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 07:23:37 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4sq0ukms9bl3inocrkf1h650bq; expires=Fri, 24-Apr-2020 + 08:23:37 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['849'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_no_address.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_no_address.yaml new file mode 100644 index 000000000..c1ea5c346 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_partner_no_address.yaml @@ -0,0 +1,56 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/2 + response: + body: {string: '{"id":2,"group_id":1,"default_billing":"0","default_shipping":"0","created_at":"2020-04-18 + 07:44:26","updated_at":"2020-04-18 07:45:01","created_in":"Default Store View","email":"benjamin@goff.com","firstname":"Benjamin","lastname":"Goff","middlename":"Le","gender":0,"store_id":1,"website_id":1,"addresses":[],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 06:27:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vrj99bt4m0g0glc5j91gjdiag0; expires=Fri, 24-Apr-2020 + 07:27:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['388'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/customers/2 + response: + body: {string: '{"id":2,"group_id":1,"default_billing":"0","default_shipping":"0","created_at":"2020-04-18 + 07:44:26","updated_at":"2020-04-18 07:45:01","created_in":"Default Store View","email":"benjamin@goff.com","firstname":"Benjamin","lastname":"Goff","middlename":"Le","gender":0,"store_id":1,"website_id":1,"addresses":[],"disable_auto_group_change":0,"extension_attributes":{"is_subscribed":false}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 24 Apr 2020 06:27:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2a61vsdfagvnsa3hfteefpb00c; expires=Fri, 24-Apr-2020 + 07:27:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['388'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product.yaml new file mode 100644 index 000000000..cd2bd9cae --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product.yaml @@ -0,0 +1,364 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG02 + response: + body: {string: '{"id":44,"sku":"24-WG02","name":"Didi Sport Watch","attribute_set_id":11,"price":92,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-03-27 + 16:06:17","updated_at":"2020-03-27 16:06:17","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"7"},{"position":0,"category_id":"6"},{"position":0,"category_id":"8"}],"stock_item":{"item_id":44,"product_id":44,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":50,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/w\/g\/wg02-bk-0.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"small_image","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"thumbnail","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"didi-sport-watch"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","7","6","8"]},{"attribute_code":"description","value":"

The + Didi Sport Watch helps you keep your workout plan down to the second. The + vertical, digital face looks sleek and futuristic. This watch is programmed + with tons of helpful features such as a timer, an alarm clock, a pedometer, + and more to help make your excercise more productive.<\/p>\n

    \n
  • Digital + display.<\/li>\n
  • LED backlight.<\/li>\n
  • Rubber strap with buckle clasp.<\/li>\n
  • 1-year + limited warranty.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5443,5438"},{"attribute_code":"material","value":"5470,5472,5475"},{"attribute_code":"gender","value":"5508"},{"attribute_code":"category_gear","value":"5513,5514,5517"},{"attribute_code":"new","value":"1"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=si727eludhoqa2pbpjkghhsln7; expires=Fri, 08-May-2020 + 07:38:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2568'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/3 + response: + body: {string: '{"id":3,"parent_id":2,"name":"Gear","is_active":true,"position":4,"level":2,"children":"4,5,6","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/3"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"gear"},{"attribute_code":"url_path","value":"gear"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=9id13rrteiti1jcm96o3c6etb5; expires=Fri, 08-May-2020 + 07:38:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=dj8radg77uam0noe586qcmjk4v; expires=Fri, 08-May-2020 + 07:38:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=run5sqfvg7gvvaqld4l7m5un3h; expires=Fri, 08-May-2020 + 07:38:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=os5s4qquegsqd2hc43iquvoki6; expires=Fri, 08-May-2020 + 07:38:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:17 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=5kc9k1a497ahmtnsbjf75af83a; expires=Fri, 08-May-2020 + 07:38:17 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/3 + response: + body: {string: '{"id":3,"parent_id":2,"name":"Gear","is_active":true,"position":4,"level":2,"children":"4,5,6","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/3"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"gear"},{"attribute_code":"url_path","value":"gear"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=cm04c062u4gri1uh0darp9bqrg; expires=Fri, 08-May-2020 + 07:38:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/7 + response: + body: {string: '{"id":7,"parent_id":2,"name":"Collections","is_active":false,"position":5,"level":2,"children":"34,35,36,39,40,8","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:12:21","path":"1\/2\/7","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/7"},{"attribute_code":"children_count","value":"6"},{"attribute_code":"url_key","value":"collections"},{"attribute_code":"url_path","value":"collections"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=v0v1fgd7p3mklrqk5gqi9qrg6j; expires=Fri, 08-May-2020 + 07:38:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['557'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/7 + response: + body: {string: '{"id":7,"parent_id":2,"name":"Collections","is_active":false,"position":5,"level":2,"children":"34,35,36,39,40,8","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:12:21","path":"1\/2\/7","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/7"},{"attribute_code":"children_count","value":"6"},{"attribute_code":"url_key","value":"collections"},{"attribute_code":"url_path","value":"collections"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=np18kk62ul3u8slpjgh3kc9ngr; expires=Fri, 08-May-2020 + 07:38:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['557'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/8 + response: + body: {string: '{"id":8,"parent_id":7,"name":"New Luma Yoga Collection","is_active":true,"position":1,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/7\/8","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/7\/8"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"yoga-new"},{"attribute_code":"url_path","value":"collections\/yoga-new"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=hakon6p2sa5i026448p4ldsom2; expires=Fri, 08-May-2020 + 07:38:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['517'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/8 + response: + body: {string: '{"id":8,"parent_id":7,"name":"New Luma Yoga Collection","is_active":true,"position":1,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/7\/8","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/7\/8"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"yoga-new"},{"attribute_code":"url_path","value":"collections\/yoga-new"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=gh0vn0ut8kugvhn38v7r4lm1oj; expires=Fri, 08-May-2020 + 07:38:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['517'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG02 + response: + body: {string: '{"id":44,"sku":"24-WG02","name":"Didi Sport Watch","attribute_set_id":11,"price":92,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-03-27 + 16:06:17","updated_at":"2020-03-27 16:06:17","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"7"},{"position":0,"category_id":"6"},{"position":0,"category_id":"8"}],"stock_item":{"item_id":44,"product_id":44,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":50,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/w\/g\/wg02-bk-0.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"small_image","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"thumbnail","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"didi-sport-watch"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","7","6","8"]},{"attribute_code":"description","value":"

    The + Didi Sport Watch helps you keep your workout plan down to the second. The + vertical, digital face looks sleek and futuristic. This watch is programmed + with tons of helpful features such as a timer, an alarm clock, a pedometer, + and more to help make your excercise more productive.<\/p>\n

      \n
    • Digital + display.<\/li>\n
    • LED backlight.<\/li>\n
    • Rubber strap with buckle clasp.<\/li>\n
    • 1-year + limited warranty.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5443,5438"},{"attribute_code":"material","value":"5470,5472,5475"},{"attribute_code":"gender","value":"5508"},{"attribute_code":"category_gear","value":"5513,5514,5517"},{"attribute_code":"new","value":"1"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:18 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ueu734u7vj47rpvqdg6fdscoqm; expires=Fri, 08-May-2020 + 07:38:18 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2568'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//w/g/wg02-bk-0.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['144915'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:19 GMT'] + ETag: ['"5e7e1eb8-23613"'] + Expires: ['Sat, 08 May 2021 06:38:19 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_bundle.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_bundle.yaml new file mode 100644 index 000000000..207946487 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_bundle.yaml @@ -0,0 +1,998 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG080 + response: + body: {string: '{"id":46,"sku":"24-WG080","name":"Sprite Yoga Companion Kit","attribute_set_id":11,"price":0,"status":1,"visibility":4,"type_id":"bundle","created_at":"2020-03-27 + 16:06:30","updated_at":"2020-03-27 16:06:30","weight":0,"extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":46,"product_id":46,"stock_id":1,"qty":0,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0},"bundle_product_options":[{"option_id":1,"title":"Sprite + Stasis Ball","required":true,"type":"radio","position":1,"sku":"24-WG080","product_links":[{"id":"1","sku":"24-WG081-blue","option_id":1,"qty":1,"position":1,"is_default":true,"price":null,"price_type":null,"can_change_quantity":1},{"id":"2","sku":"24-WG082-blue","option_id":1,"qty":1,"position":2,"is_default":false,"price":null,"price_type":null,"can_change_quantity":1},{"id":"3","sku":"24-WG083-blue","option_id":1,"qty":1,"position":3,"is_default":false,"price":null,"price_type":null,"can_change_quantity":1}]},{"option_id":2,"title":"Sprite + Foam Yoga Brick","required":true,"type":"radio","position":2,"sku":"24-WG080","product_links":[{"id":"4","sku":"24-WG084","option_id":2,"qty":1,"position":1,"is_default":true,"price":null,"price_type":null,"can_change_quantity":1}]},{"option_id":3,"title":"Sprite + Yoga Strap","required":true,"type":"radio","position":3,"sku":"24-WG080","product_links":[{"id":"5","sku":"24-WG085","option_id":3,"qty":1,"position":1,"is_default":true,"price":null,"price_type":null,"can_change_quantity":1},{"id":"6","sku":"24-WG086","option_id":3,"qty":1,"position":2,"is_default":false,"price":null,"price_type":null,"can_change_quantity":1},{"id":"7","sku":"24-WG087","option_id":3,"qty":1,"position":3,"is_default":false,"price":null,"price_type":null,"can_change_quantity":1}]},{"option_id":4,"title":"Sprite + Foam Roller","required":true,"type":"radio","position":4,"sku":"24-WG080","product_links":[{"id":"8","sku":"24-WG088","option_id":4,"qty":1,"position":1,"is_default":true,"price":null,"price_type":null,"can_change_quantity":1}]}]},"product_links":[],"options":[],"media_gallery_entries":[{"id":52,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-kit-2.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-kit-2.jpg"},{"attribute_code":"shipment_type","value":"0"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-kit-2.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-kit-2.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-yoga-companion-kit"},{"attribute_code":"price_view","value":"0"},{"attribute_code":"required_options","value":"1"},{"attribute_code":"has_options","value":"1"},{"attribute_code":"sku_type","value":"0"},{"attribute_code":"price_type","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"weight_type","value":"0"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

      A + well-rounded yoga workout takes more than a mat. The Sprite Yoga Companion + Kit helps stock your studio with the basics you need for a full-range workout. + The kit is composed of four best-selling Luma Sprite accessories in one easy + bundle: statis ball, foam block, yoga strap, and foam roller. Choose sizes + and colors and leave the rest to us. The kit includes:<\/p>\n

        \n
      • Sprite + Statis Ball\n
      • Sprite Foam Yoga Brick\n
      • Sprite Yoga Strap\n
      • Sprite + Foam Roller\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:20 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=tu11045etm37qm33koac7dhbhf; expires=Fri, 08-May-2020 + 07:38:20 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['4357'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/3 + response: + body: {string: '{"id":3,"parent_id":2,"name":"Gear","is_active":true,"position":4,"level":2,"children":"4,5,6","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/3"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"gear"},{"attribute_code":"url_path","value":"gear"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:20 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=kaals766qo69pduse863ipmmnr; expires=Fri, 08-May-2020 + 07:38:20 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:20 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=naqln22hlj03h06emehpruuufa; expires=Fri, 08-May-2020 + 07:38:20 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:20 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=49b007l0t7sv0g2fi2500q2a8u; expires=Fri, 08-May-2020 + 07:38:20 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:20 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=a7idqn55sirq4sk8ju1oj1i6si; expires=Fri, 08-May-2020 + 07:38:20 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:20 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=d71htjmdgq39aot1hm09545hdm; expires=Fri, 08-May-2020 + 07:38:20 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/3 + response: + body: {string: '{"id":3,"parent_id":2,"name":"Gear","is_active":true,"position":4,"level":2,"children":"4,5,6","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/3"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"gear"},{"attribute_code":"url_path","value":"gear"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:21 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=d2tgksbhvg63r2ktu68ftn3e6c; expires=Fri, 08-May-2020 + 07:38:21 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/5 + response: + body: {string: '{"id":5,"parent_id":3,"name":"Fitness Equipment","is_active":true,"position":2,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3\/5","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/3\/5"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"fitness-equipment"},{"attribute_code":"url_path","value":"gear\/fitness-equipment"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:21 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=0kskshqh2ujhlgr6c6j76g5ieu; expires=Fri, 08-May-2020 + 07:38:21 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['520'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/5 + response: + body: {string: '{"id":5,"parent_id":3,"name":"Fitness Equipment","is_active":true,"position":2,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3\/5","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/3\/5"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"fitness-equipment"},{"attribute_code":"url_path","value":"gear\/fitness-equipment"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:21 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ud1pn5h4jjrv820u8gbeeagmle; expires=Fri, 08-May-2020 + 07:38:21 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['520'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG081-blue + response: + body: {string: '{"id":26,"sku":"24-WG081-blue","name":"Sprite Stasis Ball 55 cm","attribute_set_id":12,"price":23,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:15","updated_at":"2020-03-27 16:06:15","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":26,"product_id":26,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":31,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-stability-ball.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite + stasis ball 55 cm blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

        The + Sprite Stasis Ball gives you the toned abs, sides, and back you want by amping + up your core workout. With bright colors and a burst-resistant design, it''s + a must-have for every hard-core exercise addict. Use for abdominal conditioning, + balance training, yoga, or even physical therapy.<\/p>\n

          \n
        • Durable, + burst-resistant design.<\/li>\n
        • Hand pump included.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"material","value":"5471"},{"attribute_code":"color","value":"5477"},{"attribute_code":"gender","value":"5507,5508,5509,5510,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5518"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:21 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=9vgcc6q41bo01p7rqir82ngue1; expires=Fri, 08-May-2020 + 07:38:21 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2555'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG081-blue + response: + body: {string: '{"id":26,"sku":"24-WG081-blue","name":"Sprite Stasis Ball 55 cm","attribute_set_id":12,"price":23,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:15","updated_at":"2020-03-27 16:06:15","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":26,"product_id":26,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":31,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-stability-ball.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite + stasis ball 55 cm blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

          The + Sprite Stasis Ball gives you the toned abs, sides, and back you want by amping + up your core workout. With bright colors and a burst-resistant design, it''s + a must-have for every hard-core exercise addict. Use for abdominal conditioning, + balance training, yoga, or even physical therapy.<\/p>\n

            \n
          • Durable, + burst-resistant design.<\/li>\n
          • Hand pump included.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"material","value":"5471"},{"attribute_code":"color","value":"5477"},{"attribute_code":"gender","value":"5507,5508,5509,5510,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5518"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:21 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=vh4bmdrpvo44jak36aolmmds53; expires=Fri, 08-May-2020 + 07:38:21 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2555'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//l/u/luma-stability-ball.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['171989'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:21 GMT'] + ETag: ['"5e7e1eb8-29fd5"'] + Expires: ['Sat, 08 May 2021 06:38:21 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG082-blue + response: + body: {string: '{"id":29,"sku":"24-WG082-blue","name":"Sprite Stasis Ball 65 cm","attribute_set_id":12,"price":27,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:15","updated_at":"2020-03-27 16:06:15","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":29,"product_id":29,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":34,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-stability-ball.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite + stasis ball 65 cm blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

            The + Sprite Stasis Ball gives you the toned abs, sides, and back you want by amping + up your core workout. With bright colors and a burst-resistant design, it''s + a must-have for every hard-core exercise addict. Use for abdominal conditioning, + balance training, yoga, or even physical therapy.<\/p>\n

              \n
            • 65 cm plastic + shell.<\/li>\n
            • Durable, burst-resistant design.<\/li>\n
            • Hand pump included.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"material","value":"5471"},{"attribute_code":"color","value":"5477"},{"attribute_code":"gender","value":"5507,5508,5509,5510,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5519"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:22 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=2bngf5u3slr49qlv6evbtp8h5s; expires=Fri, 08-May-2020 + 07:38:22 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2587'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG082-blue + response: + body: {string: '{"id":29,"sku":"24-WG082-blue","name":"Sprite Stasis Ball 65 cm","attribute_set_id":12,"price":27,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:15","updated_at":"2020-03-27 16:06:15","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":29,"product_id":29,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":34,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-stability-ball.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite + stasis ball 65 cm blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

              The + Sprite Stasis Ball gives you the toned abs, sides, and back you want by amping + up your core workout. With bright colors and a burst-resistant design, it''s + a must-have for every hard-core exercise addict. Use for abdominal conditioning, + balance training, yoga, or even physical therapy.<\/p>\n

                \n
              • 65 cm plastic + shell.<\/li>\n
              • Durable, burst-resistant design.<\/li>\n
              • Hand pump included.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"material","value":"5471"},{"attribute_code":"color","value":"5477"},{"attribute_code":"gender","value":"5507,5508,5509,5510,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5519"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:22 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=j2qqmj6r2dg46s6pl8aqaikpf5; expires=Fri, 08-May-2020 + 07:38:22 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2587'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//l/u/luma-stability-ball.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['171989'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:22 GMT'] + ETag: ['"5e7e1eb8-29fd5"'] + Expires: ['Sat, 08 May 2021 06:38:22 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG083-blue + response: + body: {string: '{"id":32,"sku":"24-WG083-blue","name":"Sprite Stasis Ball 75 cm","attribute_set_id":12,"price":32,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:15","updated_at":"2020-03-27 16:06:15","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":32,"product_id":32,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG083-blue","link_type":"related","linked_product_sku":"24-WG084","linked_product_type":"simple","position":3},{"sku":"24-WG083-blue","link_type":"related","linked_product_sku":"24-WG088","linked_product_type":"simple","position":1},{"sku":"24-WG083-blue","link_type":"related","linked_product_sku":"24-WG082-pink","linked_product_type":"simple","position":2},{"sku":"24-WG083-blue","link_type":"related","linked_product_sku":"24-WG086","linked_product_type":"simple","position":4},{"sku":"24-WG083-blue","link_type":"crosssell","linked_product_sku":"24-WG084","linked_product_type":"simple","position":4},{"sku":"24-WG083-blue","link_type":"crosssell","linked_product_sku":"24-WG088","linked_product_type":"simple","position":1},{"sku":"24-WG083-blue","link_type":"crosssell","linked_product_sku":"24-WG082-pink","linked_product_type":"simple","position":2},{"sku":"24-WG083-blue","link_type":"crosssell","linked_product_sku":"24-WG086","linked_product_type":"simple","position":3}],"options":[],"media_gallery_entries":[{"id":37,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-stability-ball.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite + stasis ball 75 cm blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                The + Sprite Stasis Ball gives you the toned abs, sides, and back you want by amping + up your core workout. With bright colors and a burst-resistant design, it''s + a must-have for every hard-core exercise addict. Use for abdominal conditioning, + balance training, yoga, or even physical therapy.<\/p>\n

                  \n
                • 75 cm plastic + shell.<\/li>\n
                • Durable, burst-resistant design.<\/li>\n
                • Hand pump included.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"material","value":"5471"},{"attribute_code":"color","value":"5477"},{"attribute_code":"gender","value":"5507,5508,5509,5510,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5520"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:22 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=fls1lug83dq9f33r2trql7navo; expires=Fri, 08-May-2020 + 07:38:22 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3580'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG083-blue + response: + body: {string: '{"id":32,"sku":"24-WG083-blue","name":"Sprite Stasis Ball 75 cm","attribute_set_id":12,"price":32,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:15","updated_at":"2020-03-27 16:06:15","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":32,"product_id":32,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG083-blue","link_type":"related","linked_product_sku":"24-WG084","linked_product_type":"simple","position":3},{"sku":"24-WG083-blue","link_type":"related","linked_product_sku":"24-WG088","linked_product_type":"simple","position":1},{"sku":"24-WG083-blue","link_type":"related","linked_product_sku":"24-WG082-pink","linked_product_type":"simple","position":2},{"sku":"24-WG083-blue","link_type":"related","linked_product_sku":"24-WG086","linked_product_type":"simple","position":4},{"sku":"24-WG083-blue","link_type":"crosssell","linked_product_sku":"24-WG084","linked_product_type":"simple","position":4},{"sku":"24-WG083-blue","link_type":"crosssell","linked_product_sku":"24-WG088","linked_product_type":"simple","position":1},{"sku":"24-WG083-blue","link_type":"crosssell","linked_product_sku":"24-WG082-pink","linked_product_type":"simple","position":2},{"sku":"24-WG083-blue","link_type":"crosssell","linked_product_sku":"24-WG086","linked_product_type":"simple","position":3}],"options":[],"media_gallery_entries":[{"id":37,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-stability-ball.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-stability-ball.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite + stasis ball 75 cm blue"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                  The + Sprite Stasis Ball gives you the toned abs, sides, and back you want by amping + up your core workout. With bright colors and a burst-resistant design, it''s + a must-have for every hard-core exercise addict. Use for abdominal conditioning, + balance training, yoga, or even physical therapy.<\/p>\n

                    \n
                  • 75 cm plastic + shell.<\/li>\n
                  • Durable, burst-resistant design.<\/li>\n
                  • Hand pump included.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"material","value":"5471"},{"attribute_code":"color","value":"5477"},{"attribute_code":"gender","value":"5507,5508,5509,5510,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5520"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:23 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=m7rmhsd7ff3nkl4fhpdi0ekg8d; expires=Fri, 08-May-2020 + 07:38:23 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3580'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//l/u/luma-stability-ball.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['171989'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:23 GMT'] + ETag: ['"5e7e1eb8-29fd5"'] + Expires: ['Sat, 08 May 2021 06:38:23 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG084 + response: + body: {string: '{"id":21,"sku":"24-WG084","name":"Sprite Foam Yoga Brick","attribute_set_id":11,"price":5,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-03-27 + 16:06:14","updated_at":"2020-03-27 16:06:14","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":21,"product_id":21,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG084","link_type":"related","linked_product_sku":"24-UG06","linked_product_type":"simple","position":1},{"sku":"24-WG084","link_type":"related","linked_product_sku":"24-UG07","linked_product_type":"simple","position":4},{"sku":"24-WG084","link_type":"related","linked_product_sku":"24-UG03","linked_product_type":"simple","position":3},{"sku":"24-WG084","link_type":"related","linked_product_sku":"24-WG085_Group","linked_product_type":"grouped","position":2},{"sku":"24-WG084","link_type":"crosssell","linked_product_sku":"24-UG03","linked_product_type":"simple","position":4},{"sku":"24-WG084","link_type":"crosssell","linked_product_sku":"24-WG081-gray","linked_product_type":"simple","position":2},{"sku":"24-WG084","link_type":"crosssell","linked_product_sku":"24-WG083-blue","linked_product_type":"simple","position":1},{"sku":"24-WG084","link_type":"crosssell","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":3}],"options":[],"media_gallery_entries":[{"id":26,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-brick.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-brick.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-brick.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-brick.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-foam-yoga-brick"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                    Our + top-selling yoga prop, the 4-inch, high-quality Sprite Foam Yoga Brick is + popular among yoga novices and studio professionals alike. An essential yoga + accessory, the yoga brick is a critical tool for finding balance and alignment + in many common yoga poses. Choose from 5 color options.<\/p>\n

                      \n
                    • Standard + Large Size: 4\" x 6\" x 9\".\n
                    • Beveled edges for ideal contour grip.\n
                    • Durable + and soft, scratch-proof foam.\n
                    • Individually wrapped.\n
                    • Ten color choices.\n<\/ul> + "},{"attribute_code":"activity","value":"5435,5436,5444,5438"},{"attribute_code":"material","value":"5469"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:23 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=dkolt1hvqvr2kt8smsitpjjmnr; expires=Fri, 08-May-2020 + 07:38:23 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3503'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG084 + response: + body: {string: '{"id":21,"sku":"24-WG084","name":"Sprite Foam Yoga Brick","attribute_set_id":11,"price":5,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-03-27 + 16:06:14","updated_at":"2020-03-27 16:06:14","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":21,"product_id":21,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG084","link_type":"related","linked_product_sku":"24-UG06","linked_product_type":"simple","position":1},{"sku":"24-WG084","link_type":"related","linked_product_sku":"24-UG07","linked_product_type":"simple","position":4},{"sku":"24-WG084","link_type":"related","linked_product_sku":"24-UG03","linked_product_type":"simple","position":3},{"sku":"24-WG084","link_type":"related","linked_product_sku":"24-WG085_Group","linked_product_type":"grouped","position":2},{"sku":"24-WG084","link_type":"crosssell","linked_product_sku":"24-UG03","linked_product_type":"simple","position":4},{"sku":"24-WG084","link_type":"crosssell","linked_product_sku":"24-WG081-gray","linked_product_type":"simple","position":2},{"sku":"24-WG084","link_type":"crosssell","linked_product_sku":"24-WG083-blue","linked_product_type":"simple","position":1},{"sku":"24-WG084","link_type":"crosssell","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":3}],"options":[],"media_gallery_entries":[{"id":26,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-brick.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-brick.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-brick.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-brick.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-foam-yoga-brick"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                      Our + top-selling yoga prop, the 4-inch, high-quality Sprite Foam Yoga Brick is + popular among yoga novices and studio professionals alike. An essential yoga + accessory, the yoga brick is a critical tool for finding balance and alignment + in many common yoga poses. Choose from 5 color options.<\/p>\n

                        \n
                      • Standard + Large Size: 4\" x 6\" x 9\".\n
                      • Beveled edges for ideal contour grip.\n
                      • Durable + and soft, scratch-proof foam.\n
                      • Individually wrapped.\n
                      • Ten color choices.\n<\/ul> + "},{"attribute_code":"activity","value":"5435,5436,5444,5438"},{"attribute_code":"material","value":"5469"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:24 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=q91rdb8rf0vcma0ff9q6lpq2ip; expires=Fri, 08-May-2020 + 07:38:24 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3503'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//l/u/luma-yoga-brick.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['38422'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:24 GMT'] + ETag: ['"5e7e1eb8-9616"'] + Expires: ['Sat, 08 May 2021 06:38:24 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG085 + response: + body: {string: '{"id":33,"sku":"24-WG085","name":"Sprite Yoga Strap 6 foot","attribute_set_id":13,"price":14,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:16","updated_at":"2020-03-27 16:06:16","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":33,"product_id":33,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG085","link_type":"related","linked_product_sku":"24-UG06","linked_product_type":"simple","position":4},{"sku":"24-WG085","link_type":"related","linked_product_sku":"24-UG04","linked_product_type":"simple","position":1},{"sku":"24-WG085","link_type":"related","linked_product_sku":"24-WG088","linked_product_type":"simple","position":3},{"sku":"24-WG085","link_type":"related","linked_product_sku":"24-WG086","linked_product_type":"simple","position":2},{"sku":"24-WG085","link_type":"crosssell","linked_product_sku":"24-UG06","linked_product_type":"simple","position":3},{"sku":"24-WG085","link_type":"crosssell","linked_product_sku":"24-UG07","linked_product_type":"simple","position":4},{"sku":"24-WG085","link_type":"crosssell","linked_product_sku":"24-WG081-gray","linked_product_type":"simple","position":1},{"sku":"24-WG085","link_type":"crosssell","linked_product_sku":"24-WG085_Group","linked_product_type":"grouped","position":2}],"options":[],"media_gallery_entries":[{"id":38,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-strap.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-yoga-strap-6-foot"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                        The + Sprite Yoga Strap is your untiring partner in demanding stretches, holds and + alignment routines. The strap''s 100% organic cotton fabric is woven tightly + to form a soft, textured yet non-slip surface. The plastic clasp buckle is + easily adjustable, lightweight and durable under strain.<\/p>\n

                          \n
                        • 100% + soft and durable cotton.\n
                        • Plastic cinch buckle is easy to use.\n
                        • Three + natural colors made from phthalate and heavy metal free dyes.\n<\/ul>"},{"attribute_code":"activity","value":"5435"},{"attribute_code":"material","value":"5459,5471"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5521"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:24 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=phtqvc8d1foh7b2cvmnkvku94m; expires=Fri, 08-May-2020 + 07:38:24 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3502'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG085 + response: + body: {string: '{"id":33,"sku":"24-WG085","name":"Sprite Yoga Strap 6 foot","attribute_set_id":13,"price":14,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:16","updated_at":"2020-03-27 16:06:16","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":33,"product_id":33,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG085","link_type":"related","linked_product_sku":"24-UG06","linked_product_type":"simple","position":4},{"sku":"24-WG085","link_type":"related","linked_product_sku":"24-UG04","linked_product_type":"simple","position":1},{"sku":"24-WG085","link_type":"related","linked_product_sku":"24-WG088","linked_product_type":"simple","position":3},{"sku":"24-WG085","link_type":"related","linked_product_sku":"24-WG086","linked_product_type":"simple","position":2},{"sku":"24-WG085","link_type":"crosssell","linked_product_sku":"24-UG06","linked_product_type":"simple","position":3},{"sku":"24-WG085","link_type":"crosssell","linked_product_sku":"24-UG07","linked_product_type":"simple","position":4},{"sku":"24-WG085","link_type":"crosssell","linked_product_sku":"24-WG081-gray","linked_product_type":"simple","position":1},{"sku":"24-WG085","link_type":"crosssell","linked_product_sku":"24-WG085_Group","linked_product_type":"grouped","position":2}],"options":[],"media_gallery_entries":[{"id":38,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-strap.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-yoga-strap-6-foot"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                          The + Sprite Yoga Strap is your untiring partner in demanding stretches, holds and + alignment routines. The strap''s 100% organic cotton fabric is woven tightly + to form a soft, textured yet non-slip surface. The plastic clasp buckle is + easily adjustable, lightweight and durable under strain.<\/p>\n

                            \n
                          • 100% + soft and durable cotton.\n
                          • Plastic cinch buckle is easy to use.\n
                          • Three + natural colors made from phthalate and heavy metal free dyes.\n<\/ul>"},{"attribute_code":"activity","value":"5435"},{"attribute_code":"material","value":"5459,5471"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5521"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:24 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=eknnojje7t28tddp42l1oi508i; expires=Fri, 08-May-2020 + 07:38:24 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3502'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//l/u/luma-yoga-strap.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['178039'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:24 GMT'] + ETag: ['"5e7e1eb8-2b777"'] + Expires: ['Sat, 08 May 2021 06:38:24 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG086 + response: + body: {string: '{"id":34,"sku":"24-WG086","name":"Sprite Yoga Strap 8 foot","attribute_set_id":13,"price":17,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:16","updated_at":"2020-03-27 16:06:16","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":34,"product_id":34,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG086","link_type":"related","linked_product_sku":"24-UG04","linked_product_type":"simple","position":2},{"sku":"24-WG086","link_type":"related","linked_product_sku":"24-UG05","linked_product_type":"simple","position":3},{"sku":"24-WG086","link_type":"related","linked_product_sku":"24-UG03","linked_product_type":"simple","position":1},{"sku":"24-WG086","link_type":"related","linked_product_sku":"24-WG085","linked_product_type":"simple","position":4},{"sku":"24-WG086","link_type":"crosssell","linked_product_sku":"24-UG06","linked_product_type":"simple","position":2},{"sku":"24-WG086","link_type":"crosssell","linked_product_sku":"24-UG02","linked_product_type":"simple","position":3},{"sku":"24-WG086","link_type":"crosssell","linked_product_sku":"24-WG084","linked_product_type":"simple","position":1},{"sku":"24-WG086","link_type":"crosssell","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":4}],"options":[],"media_gallery_entries":[{"id":39,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-strap.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-yoga-strap-8-foot"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                            The + Sprite Yoga Strap is your untiring partner in demanding stretches, holds and + alignment routines. The strap''s 100% organic cotton fabric is woven tightly + to form a soft, textured yet non-slip surface. The plastic clasp buckle is + easily adjustable, lightweight and durable under strain.<\/p>\n

                              \n
                            • 8'' + long x 1.0\" wide.\n
                            • 100% soft and durable cotton.\n
                            • Plastic cinch buckle + is easy to use.\n
                            • Three natural colors made from phthalate and heavy metal + free dyes.\n<\/ul>"},{"attribute_code":"activity","value":"5435"},{"attribute_code":"material","value":"5459,5471"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5522"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:25 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=6r1ald952sjdion1bkq4gh164b; expires=Fri, 08-May-2020 + 07:38:25 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3516'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG086 + response: + body: {string: '{"id":34,"sku":"24-WG086","name":"Sprite Yoga Strap 8 foot","attribute_set_id":13,"price":17,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:16","updated_at":"2020-03-27 16:06:16","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":34,"product_id":34,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG086","link_type":"related","linked_product_sku":"24-UG04","linked_product_type":"simple","position":2},{"sku":"24-WG086","link_type":"related","linked_product_sku":"24-UG05","linked_product_type":"simple","position":3},{"sku":"24-WG086","link_type":"related","linked_product_sku":"24-UG03","linked_product_type":"simple","position":1},{"sku":"24-WG086","link_type":"related","linked_product_sku":"24-WG085","linked_product_type":"simple","position":4},{"sku":"24-WG086","link_type":"crosssell","linked_product_sku":"24-UG06","linked_product_type":"simple","position":2},{"sku":"24-WG086","link_type":"crosssell","linked_product_sku":"24-UG02","linked_product_type":"simple","position":3},{"sku":"24-WG086","link_type":"crosssell","linked_product_sku":"24-WG084","linked_product_type":"simple","position":1},{"sku":"24-WG086","link_type":"crosssell","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":4}],"options":[],"media_gallery_entries":[{"id":39,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-strap.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-yoga-strap-8-foot"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                              The + Sprite Yoga Strap is your untiring partner in demanding stretches, holds and + alignment routines. The strap''s 100% organic cotton fabric is woven tightly + to form a soft, textured yet non-slip surface. The plastic clasp buckle is + easily adjustable, lightweight and durable under strain.<\/p>\n

                                \n
                              • 8'' + long x 1.0\" wide.\n
                              • 100% soft and durable cotton.\n
                              • Plastic cinch buckle + is easy to use.\n
                              • Three natural colors made from phthalate and heavy metal + free dyes.\n<\/ul>"},{"attribute_code":"activity","value":"5435"},{"attribute_code":"material","value":"5459,5471"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5522"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:25 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=rieo6jaennn0c3irctjpu64em5; expires=Fri, 08-May-2020 + 07:38:25 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3516'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//l/u/luma-yoga-strap.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['178039'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:25 GMT'] + ETag: ['"5e7e1eb8-2b777"'] + Expires: ['Sat, 08 May 2021 06:38:25 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG087 + response: + body: {string: '{"id":35,"sku":"24-WG087","name":"Sprite Yoga Strap 10 foot","attribute_set_id":13,"price":21,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:16","updated_at":"2020-03-27 16:06:16","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":35,"product_id":35,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG087","link_type":"related","linked_product_sku":"24-WG083-blue","linked_product_type":"simple","position":4},{"sku":"24-WG087","link_type":"related","linked_product_sku":"24-WG085","linked_product_type":"simple","position":1},{"sku":"24-WG087","link_type":"related","linked_product_sku":"24-WG086","linked_product_type":"simple","position":2},{"sku":"24-WG087","link_type":"related","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":3},{"sku":"24-WG087","link_type":"crosssell","linked_product_sku":"24-UG01","linked_product_type":"simple","position":4},{"sku":"24-WG087","link_type":"crosssell","linked_product_sku":"24-WG081-gray","linked_product_type":"simple","position":3},{"sku":"24-WG087","link_type":"crosssell","linked_product_sku":"24-WG085","linked_product_type":"simple","position":2},{"sku":"24-WG087","link_type":"crosssell","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":1}],"options":[],"media_gallery_entries":[{"id":40,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-strap.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-yoga-strap-10-foot"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                                The + Sprite Yoga Strap is your untiring partner in demanding stretches, holds and + alignment routines. The strap''s 100% organic cotton fabric is woven tightly + to form a soft, textured yet non-slip surface. The plastic clasp buckle is + easily adjustable, lightweight and durable under strain.<\/p>\n

                                  \n
                                • 10'' + long x 1.0\" wide.\n
                                • 100% soft and durable cotton.\n
                                • Plastic cinch buckle + is easy to use.\n
                                • Three natural colors made from phthalate and heavy metal + free dyes.\n<\/ul>"},{"attribute_code":"activity","value":"5435"},{"attribute_code":"material","value":"5459,5471"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5523"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:26 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=3a6nk22p0l5dqd1f6h80b8gg98; expires=Fri, 08-May-2020 + 07:38:26 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3533'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG087 + response: + body: {string: '{"id":35,"sku":"24-WG087","name":"Sprite Yoga Strap 10 foot","attribute_set_id":13,"price":21,"status":1,"visibility":1,"type_id":"simple","created_at":"2020-03-27 + 16:06:16","updated_at":"2020-03-27 16:06:16","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":35,"product_id":35,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG087","link_type":"related","linked_product_sku":"24-WG083-blue","linked_product_type":"simple","position":4},{"sku":"24-WG087","link_type":"related","linked_product_sku":"24-WG085","linked_product_type":"simple","position":1},{"sku":"24-WG087","link_type":"related","linked_product_sku":"24-WG086","linked_product_type":"simple","position":2},{"sku":"24-WG087","link_type":"related","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":3},{"sku":"24-WG087","link_type":"crosssell","linked_product_sku":"24-UG01","linked_product_type":"simple","position":4},{"sku":"24-WG087","link_type":"crosssell","linked_product_sku":"24-WG081-gray","linked_product_type":"simple","position":3},{"sku":"24-WG087","link_type":"crosssell","linked_product_sku":"24-WG085","linked_product_type":"simple","position":2},{"sku":"24-WG087","link_type":"crosssell","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":1}],"options":[],"media_gallery_entries":[{"id":40,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-strap.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-strap.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-yoga-strap-10-foot"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                                  The + Sprite Yoga Strap is your untiring partner in demanding stretches, holds and + alignment routines. The strap''s 100% organic cotton fabric is woven tightly + to form a soft, textured yet non-slip surface. The plastic clasp buckle is + easily adjustable, lightweight and durable under strain.<\/p>\n

                                    \n
                                  • 10'' + long x 1.0\" wide.\n
                                  • 100% soft and durable cotton.\n
                                  • Plastic cinch buckle + is easy to use.\n
                                  • Three natural colors made from phthalate and heavy metal + free dyes.\n<\/ul>"},{"attribute_code":"activity","value":"5435"},{"attribute_code":"material","value":"5459,5471"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"},{"attribute_code":"size","value":"5523"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:26 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=sdsndrdvfm6v6aq1a76iero58u; expires=Fri, 08-May-2020 + 07:38:26 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3533'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//l/u/luma-yoga-strap.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['178039'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:26 GMT'] + ETag: ['"5e7e1eb8-2b777"'] + Expires: ['Sat, 08 May 2021 06:38:26 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG088 + response: + body: {string: '{"id":22,"sku":"24-WG088","name":"Sprite Foam Roller","attribute_set_id":11,"price":19,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-03-27 + 16:06:14","updated_at":"2020-03-27 16:06:14","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":22,"product_id":22,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG088","link_type":"related","linked_product_sku":"24-UG02","linked_product_type":"simple","position":4},{"sku":"24-WG088","link_type":"related","linked_product_sku":"24-UG01","linked_product_type":"simple","position":1},{"sku":"24-WG088","link_type":"related","linked_product_sku":"24-UG03","linked_product_type":"simple","position":2},{"sku":"24-WG088","link_type":"related","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":3},{"sku":"24-WG088","link_type":"crosssell","linked_product_sku":"24-UG06","linked_product_type":"simple","position":4},{"sku":"24-WG088","link_type":"crosssell","linked_product_sku":"24-UG01","linked_product_type":"simple","position":2},{"sku":"24-WG088","link_type":"crosssell","linked_product_sku":"24-UG03","linked_product_type":"simple","position":1},{"sku":"24-WG088","link_type":"crosssell","linked_product_sku":"24-WG085_Group","linked_product_type":"grouped","position":3}],"options":[],"media_gallery_entries":[{"id":27,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-foam-roller.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-foam-roller.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-foam-roller.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-foam-roller.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-foam-roller"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                                    It + hurts so good to use the Sprite Foam Roller on achy, tired muscles for myofascial + massage therapy. Or you can add this fundamental piece to your Pilates and + yoga accouterment, or apply towards core stability, strengthening and balance + exercise. <\/p>\n

                                      \n
                                    • 6'''' wide by 12'''' long.<\/li>\n
                                    • Safe for + myofascial release.<\/li>\n
                                    • EPP or PE foam options.<\/li>\n
                                    • Solid, dense, + closed-cell foam.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"material","value":"5469"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:27 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=74n3prbv0ig99ub920gcp5nupj; expires=Fri, 08-May-2020 + 07:38:27 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3408'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG088 + response: + body: {string: '{"id":22,"sku":"24-WG088","name":"Sprite Foam Roller","attribute_set_id":11,"price":19,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-03-27 + 16:06:14","updated_at":"2020-03-27 16:06:14","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":22,"product_id":22,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG088","link_type":"related","linked_product_sku":"24-UG02","linked_product_type":"simple","position":4},{"sku":"24-WG088","link_type":"related","linked_product_sku":"24-UG01","linked_product_type":"simple","position":1},{"sku":"24-WG088","link_type":"related","linked_product_sku":"24-UG03","linked_product_type":"simple","position":2},{"sku":"24-WG088","link_type":"related","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":3},{"sku":"24-WG088","link_type":"crosssell","linked_product_sku":"24-UG06","linked_product_type":"simple","position":4},{"sku":"24-WG088","link_type":"crosssell","linked_product_sku":"24-UG01","linked_product_type":"simple","position":2},{"sku":"24-WG088","link_type":"crosssell","linked_product_sku":"24-UG03","linked_product_type":"simple","position":1},{"sku":"24-WG088","link_type":"crosssell","linked_product_sku":"24-WG085_Group","linked_product_type":"grouped","position":3}],"options":[],"media_gallery_entries":[{"id":27,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-foam-roller.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-foam-roller.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-foam-roller.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-foam-roller.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"sprite-foam-roller"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                                      It + hurts so good to use the Sprite Foam Roller on achy, tired muscles for myofascial + massage therapy. Or you can add this fundamental piece to your Pilates and + yoga accouterment, or apply towards core stability, strengthening and balance + exercise. <\/p>\n

                                        \n
                                      • 6'''' wide by 12'''' long.<\/li>\n
                                      • Safe for + myofascial release.<\/li>\n
                                      • EPP or PE foam options.<\/li>\n
                                      • Solid, dense, + closed-cell foam.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5435,5438"},{"attribute_code":"material","value":"5469"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:27 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=amvn9aj4tqlu83jvuo81q8g45v; expires=Fri, 08-May-2020 + 07:38:27 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3408'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//l/u/luma-foam-roller.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['53637'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:27 GMT'] + ETag: ['"5e7e1eb8-d185"'] + Expires: ['Sat, 08 May 2021 06:38:27 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category.yaml new file mode 100644 index 000000000..292fbe00e --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category.yaml @@ -0,0 +1,56 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:53 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=qf3kvt2nnjv85u4i4q3uk36r18; expires=Fri, 08-May-2020 + 07:42:53 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:53 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ct6q4eb2i9alfheq77a43of6bi; expires=Fri, 08-May-2020 + 07:42:53 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category_missing.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category_missing.yaml new file mode 100644 index 000000000..e59da913e --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category_missing.yaml @@ -0,0 +1,418 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG02 + response: + body: {string: '{"id":44,"sku":"24-WG02","name":"Didi Sport Watch","attribute_set_id":11,"price":92,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-03-27 + 16:06:17","updated_at":"2020-03-27 16:06:17","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"7"},{"position":0,"category_id":"6"},{"position":0,"category_id":"8"}],"stock_item":{"item_id":44,"product_id":44,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":50,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/w\/g\/wg02-bk-0.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"small_image","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"thumbnail","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"didi-sport-watch"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","7","6","8"]},{"attribute_code":"description","value":"

                                        The + Didi Sport Watch helps you keep your workout plan down to the second. The + vertical, digital face looks sleek and futuristic. This watch is programmed + with tons of helpful features such as a timer, an alarm clock, a pedometer, + and more to help make your excercise more productive.<\/p>\n

                                          \n
                                        • Digital + display.<\/li>\n
                                        • LED backlight.<\/li>\n
                                        • Rubber strap with buckle clasp.<\/li>\n
                                        • 1-year + limited warranty.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5443,5438"},{"attribute_code":"material","value":"5470,5472,5475"},{"attribute_code":"gender","value":"5508"},{"attribute_code":"category_gear","value":"5513,5514,5517"},{"attribute_code":"new","value":"1"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:29 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=3if7j5mfr990jpr8o4v04lappp; expires=Fri, 08-May-2020 + 07:38:29 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2568'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/3 + response: + body: {string: '{"id":3,"parent_id":2,"name":"Gear","is_active":true,"position":4,"level":2,"children":"4,5,6","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/3"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"gear"},{"attribute_code":"url_path","value":"gear"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:29 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=alnrrskjjm964h0g55gc2vguv7; expires=Fri, 08-May-2020 + 07:38:29 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:29 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=pc2ri3mcj8mhu2ro3b9ejc6pmg; expires=Fri, 08-May-2020 + 07:38:29 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=pogskjhmqkha1j8h59nv8jbrv2; expires=Fri, 08-May-2020 + 07:38:29 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=nofsko8qar8opuoi7e5ci31vl4; expires=Fri, 08-May-2020 + 07:38:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=7ireg7qm940mefotfajei12bkj; expires=Fri, 08-May-2020 + 07:38:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/3 + response: + body: {string: '{"id":3,"parent_id":2,"name":"Gear","is_active":true,"position":4,"level":2,"children":"4,5,6","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/3"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"gear"},{"attribute_code":"url_path","value":"gear"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=p72733iik222o0eru7anh5c1gd; expires=Fri, 08-May-2020 + 07:38:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/7 + response: + body: {string: '{"id":7,"parent_id":2,"name":"Collections","is_active":false,"position":5,"level":2,"children":"34,35,36,39,40,8","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:12:21","path":"1\/2\/7","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/7"},{"attribute_code":"children_count","value":"6"},{"attribute_code":"url_key","value":"collections"},{"attribute_code":"url_path","value":"collections"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=b5h75gsg5qa97vhnb09cpl23mu; expires=Fri, 08-May-2020 + 07:38:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['557'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/7 + response: + body: {string: '{"id":7,"parent_id":2,"name":"Collections","is_active":false,"position":5,"level":2,"children":"34,35,36,39,40,8","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:12:21","path":"1\/2\/7","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/7"},{"attribute_code":"children_count","value":"6"},{"attribute_code":"url_key","value":"collections"},{"attribute_code":"url_path","value":"collections"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:30 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=92t44sgmehmkoe5mi1lrkbarhg; expires=Fri, 08-May-2020 + 07:38:30 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['557'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/6 + response: + body: {string: '{"id":6,"parent_id":3,"name":"Watches","is_active":true,"position":3,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3\/6","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/3\/6"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"watches"},{"attribute_code":"url_path","value":"gear\/watches"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:31 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=k8dfjbd29f24t0bduopanchtqt; expires=Fri, 08-May-2020 + 07:38:31 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['490'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/6 + response: + body: {string: '{"id":6,"parent_id":3,"name":"Watches","is_active":true,"position":3,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3\/6","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/3\/6"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"watches"},{"attribute_code":"url_path","value":"gear\/watches"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:31 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=f1lrvqdice0tfa2lakp7dirl2k; expires=Fri, 08-May-2020 + 07:38:31 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['490'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/8 + response: + body: {string: '{"id":8,"parent_id":7,"name":"New Luma Yoga Collection","is_active":true,"position":1,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/7\/8","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/7\/8"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"yoga-new"},{"attribute_code":"url_path","value":"collections\/yoga-new"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:31 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=5ce165is9gppr1d4o2s25coej0; expires=Fri, 08-May-2020 + 07:38:31 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['517'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/8 + response: + body: {string: '{"id":8,"parent_id":7,"name":"New Luma Yoga Collection","is_active":true,"position":1,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/7\/8","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/7\/8"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"yoga-new"},{"attribute_code":"url_path","value":"collections\/yoga-new"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:31 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ojv4fk2jq73vc3r73t6dj3efp6; expires=Fri, 08-May-2020 + 07:38:31 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['517'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/24-WG02 + response: + body: {string: '{"id":44,"sku":"24-WG02","name":"Didi Sport Watch","attribute_set_id":11,"price":92,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-03-27 + 16:06:17","updated_at":"2020-03-27 16:06:17","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"7"},{"position":0,"category_id":"6"},{"position":0,"category_id":"8"}],"stock_item":{"item_id":44,"product_id":44,"stock_id":1,"qty":100,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[],"options":[],"media_gallery_entries":[{"id":50,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/w\/g\/wg02-bk-0.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"small_image","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"thumbnail","value":"\/w\/g\/wg02-bk-0.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"didi-sport-watch"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["3","7","6","8"]},{"attribute_code":"description","value":"

                                          The + Didi Sport Watch helps you keep your workout plan down to the second. The + vertical, digital face looks sleek and futuristic. This watch is programmed + with tons of helpful features such as a timer, an alarm clock, a pedometer, + and more to help make your excercise more productive.<\/p>\n

                                            \n
                                          • Digital + display.<\/li>\n
                                          • LED backlight.<\/li>\n
                                          • Rubber strap with buckle clasp.<\/li>\n
                                          • 1-year + limited warranty.<\/li>\n<\/ul>"},{"attribute_code":"activity","value":"5443,5438"},{"attribute_code":"material","value":"5470,5472,5475"},{"attribute_code":"gender","value":"5508"},{"attribute_code":"category_gear","value":"5513,5514,5517"},{"attribute_code":"new","value":"1"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:32 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=r79ogc3i0lthf6vcnks88kadrq; expires=Fri, 08-May-2020 + 07:38:31 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2568'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/media/catalog/product//w/g/wg02-bk-0.jpg + response: + body: + string: !!binary | + R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw== + headers: + Accept-Ranges: [bytes] + Cache-Control: [max-age=31536000, public] + Connection: [keep-alive] + Content-Length: ['144915'] + Content-Type: [image/jpeg] + Date: ['Fri, 08 May 2020 06:38:32 GMT'] + ETag: ['"5e7e1eb8-23613"'] + Expires: ['Sat, 08 May 2021 06:38:32 GMT'] + Last-Modified: ['Fri, 27 Mar 2020 15:41:44 GMT'] + Server: [nginx/1.14.0 (Ubuntu)] + X-Frame-Options: [SAMEORIGIN] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category_with_gap.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category_with_gap.yaml new file mode 100644 index 000000000..60b69d024 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_category_with_gap.yaml @@ -0,0 +1,272 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/41 + response: + body: {string: '{"id":41,"parent_id":22,"name":"Test magento","is_active":false,"position":3,"level":4,"children":"","created_at":"2020-04-24 + 10:01:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20\/22\/41","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/20\/22\/41"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"custom_use_parent_settings","value":"0"},{"attribute_code":"custom_apply_to_products","value":"0"},{"attribute_code":"url_key","value":"test-magento"},{"attribute_code":"url_path","value":"women\/bottoms-women\/test-magento"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:53 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=j815ttus6ukfub9737drq96k42; expires=Fri, 08-May-2020 + 07:42:53 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['708'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/22 + response: + body: {string: '{"id":22,"parent_id":20,"name":"Bottoms","is_active":true,"position":2,"level":3,"children":"27,28","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20\/22","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/20\/22"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"bottoms-women"},{"attribute_code":"url_path","value":"women\/bottoms-women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=1k489jtuqhubeufr295a3e02nu; expires=Fri, 08-May-2020 + 07:42:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['514'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/20 + response: + body: {string: '{"id":20,"parent_id":2,"name":"Women","is_active":true,"position":2,"level":2,"children":"21,22","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/20"},{"attribute_code":"children_count","value":"9"},{"attribute_code":"url_key","value":"women"},{"attribute_code":"url_path","value":"women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=qhmmf6bo4p0r8n3oo0thhtut4j; expires=Fri, 08-May-2020 + 07:42:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['529'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=3akc1mnjuaf82lfm5pbj3t3bh6; expires=Fri, 08-May-2020 + 07:42:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=30gm7ir758qf8814gm4h5rts3q; expires=Fri, 08-May-2020 + 07:42:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=3tm5or1vjaistr5ralpivaeaq6; expires=Fri, 08-May-2020 + 07:42:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=h2n613pinvfbrt283jf6m2jums; expires=Fri, 08-May-2020 + 07:42:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/20 + response: + body: {string: '{"id":20,"parent_id":2,"name":"Women","is_active":true,"position":2,"level":2,"children":"21,22","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/20"},{"attribute_code":"children_count","value":"9"},{"attribute_code":"url_key","value":"women"},{"attribute_code":"url_path","value":"women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ouh0vdnrclpkbsi356s6dpdg0t; expires=Fri, 08-May-2020 + 07:42:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['529'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/22 + response: + body: {string: '{"id":22,"parent_id":20,"name":"Bottoms","is_active":true,"position":2,"level":3,"children":"27,28","created_at":"2020-03-27 + 16:06:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20\/22","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/20\/22"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"bottoms-women"},{"attribute_code":"url_path","value":"women\/bottoms-women"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4i15kappb320kkludrr12j1r74; expires=Fri, 08-May-2020 + 07:42:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['514'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/41 + response: + body: {string: '{"id":41,"parent_id":22,"name":"Test magento","is_active":false,"position":3,"level":4,"children":"","created_at":"2020-04-24 + 10:01:36","updated_at":"2020-04-24 10:01:36","path":"1\/2\/20\/22\/41","available_sort_by":[],"include_in_menu":false,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/20\/22\/41"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"custom_use_parent_settings","value":"0"},{"attribute_code":"custom_apply_to_products","value":"0"},{"attribute_code":"url_key","value":"test-magento"},{"attribute_code":"url_path","value":"women\/bottoms-women\/test-magento"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:42:55 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=oek5tgaegr5l3mes4vr0tsm51f; expires=Fri, 08-May-2020 + 07:42:55 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['708'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_configurable.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_configurable.yaml new file mode 100644 index 000000000..7e3fa2178 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_configurable.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/MH01 + response: + body: {string: '{"id":68,"sku":"MH01","name":"Chaz Kangeroo Hoodie","attribute_set_id":9,"price":0,"status":1,"visibility":4,"type_id":"configurable","created_at":"2020-03-27 + 16:06:38","updated_at":"2020-03-27 16:06:38","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"15"},{"position":0,"category_id":"36"},{"position":0,"category_id":"2"}],"stock_item":{"item_id":68,"product_id":68,"stock_id":1,"qty":0,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0},"configurable_product_options":[{"id":3,"attribute_id":"93","label":"Color","position":1,"values":[{"value_index":5476},{"value_index":5479},{"value_index":5483}],"product_id":68},{"id":2,"attribute_id":"152","label":"Size","position":0,"values":[{"value_index":5593},{"value_index":5594},{"value_index":5595},{"value_index":5596},{"value_index":5597}],"product_id":68}],"configurable_product_links":[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67]},"product_links":[{"sku":"MH01","link_type":"related","linked_product_sku":"MS12","linked_product_type":"configurable","position":4},{"sku":"MH01","link_type":"related","linked_product_sku":"MS06","linked_product_type":"configurable","position":3},{"sku":"MH01","link_type":"related","linked_product_sku":"MP06","linked_product_type":"configurable","position":1},{"sku":"MH01","link_type":"related","linked_product_sku":"MP11","linked_product_type":"configurable","position":2},{"sku":"MH01","link_type":"crosssell","linked_product_sku":"24-UG06","linked_product_type":"simple","position":4},{"sku":"MH01","link_type":"crosssell","linked_product_sku":"24-WG081-gray","linked_product_type":"simple","position":1},{"sku":"MH01","link_type":"crosssell","linked_product_sku":"24-WG085_Group","linked_product_type":"grouped","position":2},{"sku":"MH01","link_type":"crosssell","linked_product_sku":"24-WG080","linked_product_type":"bundle","position":3}],"options":[],"media_gallery_entries":[{"id":84,"media_type":"image","label":"","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/m\/h\/mh01-gray_main_1.jpg"},{"id":85,"media_type":"image","label":"","position":2,"disabled":false,"types":[],"file":"\/m\/h\/mh01-gray_alt1_1.jpg"},{"id":86,"media_type":"image","label":"","position":3,"disabled":false,"types":[],"file":"\/m\/h\/mh01-gray_back_1.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/m\/h\/mh01-gray_main_1.jpg"},{"attribute_code":"small_image","value":"\/m\/h\/mh01-gray_main_1.jpg"},{"attribute_code":"thumbnail","value":"\/m\/h\/mh01-gray_main_1.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"chaz-kangeroo-hoodie"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"1"},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":["15","36","2"]},{"attribute_code":"description","value":"

                                            Ideal + for cold-weather training or work outdoors, the Chaz Hoodie promises superior + warmth with every wear. Thick material blocks out the wind as ribbed cuffs + and bottom band seal in body heat.<\/p>\n

                                            • Two-tone gray heather hoodie.
                                            • Drawstring-adjustable hood.
                                            • Machine wash\/dry.<\/p>"},{"attribute_code":"material","value":"5585"},{"attribute_code":"pattern","value":"5621"},{"attribute_code":"climate","value":"5628,5630,5631,5634,5636"},{"attribute_code":"eco_collection","value":"1"},{"attribute_code":"performance_fabric","value":"0"},{"attribute_code":"erin_recommends","value":"0"},{"attribute_code":"new","value":"0"},{"attribute_code":"sale","value":"1"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:33 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4gh745n6sc26l9a9fasjrhtk5j; expires=Fri, 08-May-2020 + 07:38:33 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['4199'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_grouped.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_grouped.yaml new file mode 100644 index 000000000..265f2e6d8 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_grouped.yaml @@ -0,0 +1,249 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/24-WG085_Group + response: + body: {string: '{"id":45,"sku":"24-WG085_Group","name":"Set of Sprite Yoga Straps","attribute_set_id":11,"status":1,"visibility":4,"type_id":"grouped","created_at":"2020-03-27 + 16:06:29","updated_at":"2020-03-27 16:06:29","extension_attributes":{"website_ids":[1],"category_links":[{"position":0,"category_id":"3"},{"position":0,"category_id":"5"}],"stock_item":{"item_id":45,"product_id":45,"stock_id":1,"qty":0,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}},"product_links":[{"sku":"24-WG085_Group","link_type":"associated","linked_product_sku":"24-WG085","linked_product_type":"simple","position":0,"extension_attributes":{"qty":0}},{"sku":"24-WG085_Group","link_type":"associated","linked_product_sku":"24-WG086","linked_product_type":"simple","position":1,"extension_attributes":{"qty":0}},{"sku":"24-WG085_Group","link_type":"associated","linked_product_sku":"24-WG087","linked_product_type":"simple","position":2,"extension_attributes":{"qty":0}}],"options":[],"media_gallery_entries":[{"id":51,"media_type":"image","label":"Image","position":1,"disabled":false,"types":["image","small_image","thumbnail"],"file":"\/l\/u\/luma-yoga-strap-set.jpg"}],"tier_prices":[],"custom_attributes":[{"attribute_code":"image","value":"\/l\/u\/luma-yoga-strap-set.jpg"},{"attribute_code":"small_image","value":"\/l\/u\/luma-yoga-strap-set.jpg"},{"attribute_code":"thumbnail","value":"\/l\/u\/luma-yoga-strap-set.jpg"},{"attribute_code":"options_container","value":"container2"},{"attribute_code":"url_key","value":"set-of-sprite-yoga-straps"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"category_ids","value":["3","5"]},{"attribute_code":"description","value":"

                                            Great + set of Sprite Yoga Straps for every stretch and hold you need. There are three + straps in this set: 6'', 8'' and 10''.<\/p>\n

                                              \n
                                            • 100% soft and durable + cotton.\n
                                            • Plastic cinch buckle is easy to use.\n
                                            • Choice of three natural + colors made from phthalate and heavy metal free dyes.\n<\/ul>"},{"attribute_code":"activity","value":"5435"},{"attribute_code":"material","value":"5459,5471"},{"attribute_code":"gender","value":"5507,5508,5511"},{"attribute_code":"category_gear","value":"5514"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:33 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=3hg94b1fa3cgt5b9gv9n7etjn7; expires=Fri, 08-May-2020 + 07:38:33 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['2733'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/3 + response: + body: {string: '{"id":3,"parent_id":2,"name":"Gear","is_active":true,"position":4,"level":2,"children":"4,5,6","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/3"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"gear"},{"attribute_code":"url_path","value":"gear"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:33 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=muub1outkkliruuodbpa1qbjh1; expires=Fri, 08-May-2020 + 07:38:33 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:33 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=v186rmnh93v8dgtjmvtpb2g7sp; expires=Fri, 08-May-2020 + 07:38:33 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:33 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=b7vvn0tf60tjhvc8a00l4vfh2j; expires=Fri, 08-May-2020 + 07:38:33 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/1 + response: + body: {string: '{"id":1,"parent_id":0,"name":"Root Catalog","position":0,"level":0,"children":"2","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"path","value":"1"},{"attribute_code":"children_count","value":"40"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:34 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=j52ut262768se5c2dm1mspotb4; expires=Fri, 08-May-2020 + 07:38:34 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['318'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/2 + response: + body: {string: '{"id":2,"parent_id":1,"name":"Default Category","is_active":true,"position":1,"level":1,"children":"3,9,11,20,37,38","created_at":"2020-03-27 + 15:25:28","updated_at":"2020-04-24 10:01:36","path":"1\/2","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PRODUCTS"},{"attribute_code":"path","value":"1\/2"},{"attribute_code":"children_count","value":"39"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:34 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=4tj7sgir2cls73dff9urkbsmnn; expires=Fri, 08-May-2020 + 07:38:34 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['412'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/3 + response: + body: {string: '{"id":3,"parent_id":2,"name":"Gear","is_active":true,"position":4,"level":2,"children":"4,5,6","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"display_mode","value":"PAGE"},{"attribute_code":"is_anchor","value":"0"},{"attribute_code":"path","value":"1\/2\/3"},{"attribute_code":"children_count","value":"3"},{"attribute_code":"url_key","value":"gear"},{"attribute_code":"url_path","value":"gear"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:34 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=bcjuon1vu69ovtdfbtkirv976h; expires=Fri, 08-May-2020 + 07:38:34 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['523'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/categories/5 + response: + body: {string: '{"id":5,"parent_id":3,"name":"Fitness Equipment","is_active":true,"position":2,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3\/5","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/3\/5"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"fitness-equipment"},{"attribute_code":"url_path","value":"gear\/fitness-equipment"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:34 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=r63qspejgfsl8qrg4qo25rjapa; expires=Fri, 08-May-2020 + 07:38:34 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['520'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/categories/5 + response: + body: {string: '{"id":5,"parent_id":3,"name":"Fitness Equipment","is_active":true,"position":2,"level":3,"children":"","created_at":"2020-03-27 + 16:06:12","updated_at":"2020-03-27 16:06:12","path":"1\/2\/3\/5","available_sort_by":[],"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"path","value":"1\/2\/3\/5"},{"attribute_code":"children_count","value":"0"},{"attribute_code":"url_key","value":"fitness-equipment"},{"attribute_code":"url_path","value":"gear\/fitness-equipment"}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:34 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ql8lori881cvsl1m04rh9vhjbl; expires=Fri, 08-May-2020 + 07:38:34 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['520'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_quoted_sku.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_quoted_sku.yaml new file mode 100644 index 000000000..fa258c57c --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_quoted_sku.yaml @@ -0,0 +1,60 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/bla%2Fkoe + response: + body: {string: '{"id":2052,"sku":"bla\/koe","name":"bla","attribute_set_id":4,"price":1,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-05-02 + 06:51:46","updated_at":"2020-05-02 06:51:46","extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2052,"product_id":2052,"stock_id":1,"qty":0,"is_in_stock":false,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":"2020-05-02 + 06:51:46","is_decimal_divided":false,"stock_status_changed_auto":1}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"bla"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"bla"},{"attribute_code":"meta_keyword","value":"bla"},{"attribute_code":"meta_description","value":"bla + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"ts_packaging_type","value":"none"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 07:29:57 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=l68a3vfaid817s5etfsmmh3fkm; expires=Fri, 08-May-2020 + 08:29:57 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1589'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/bla%2Fkoe + response: + body: {string: '{"id":2052,"sku":"bla\/koe","name":"bla","attribute_set_id":4,"price":1,"status":1,"visibility":4,"type_id":"simple","created_at":"2020-05-02 + 06:51:46","updated_at":"2020-05-02 06:51:46","extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2052,"product_id":2052,"stock_id":1,"qty":0,"is_in_stock":false,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":"2020-05-02 + 06:51:46","is_decimal_divided":false,"stock_status_changed_auto":1}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"bla"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"bla"},{"attribute_code":"meta_keyword","value":"bla"},{"attribute_code":"meta_description","value":"bla + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"ts_packaging_type","value":"none"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 07:29:58 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=5cv3efunv39qqmh28npvui3hff; expires=Fri, 08-May-2020 + 08:29:58 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1589'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_virtual.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_virtual.yaml new file mode 100644 index 000000000..9b0e087e6 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_import_product_virtual.yaml @@ -0,0 +1,60 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/products/TRN + response: + body: {string: '{"id":2049,"sku":"TRN","name":"Individual Training","attribute_set_id":4,"price":1,"status":1,"visibility":4,"type_id":"virtual","created_at":"2020-04-24 + 10:16:29","updated_at":"2020-04-24 10:16:29","weight":0,"extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2049,"product_id":2049,"stock_id":1,"qty":0,"is_in_stock":false,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":"2020-04-24 + 10:16:29","is_decimal_divided":false,"stock_status_changed_auto":1}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"individual-training"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"Training"},{"attribute_code":"meta_keyword","value":"Training"},{"attribute_code":"meta_description","value":"Training + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:35 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ldlcisbuh3ltrju9o784l2teth; expires=Fri, 08-May-2020 + 07:38:35 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1589'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/default/V1/products/TRN + response: + body: {string: '{"id":2049,"sku":"TRN","name":"Individual Training","attribute_set_id":4,"price":1,"status":1,"visibility":4,"type_id":"virtual","created_at":"2020-04-24 + 10:16:29","updated_at":"2020-04-24 10:16:29","weight":0,"extension_attributes":{"website_ids":[1],"stock_item":{"item_id":2049,"product_id":2049,"stock_id":1,"qty":0,"is_in_stock":false,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":"2020-04-24 + 10:16:29","is_decimal_divided":false,"stock_status_changed_auto":1}},"product_links":[],"options":[],"media_gallery_entries":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"options_container","value":"container2"},{"attribute_code":"msrp_display_actual_price_type","value":"0"},{"attribute_code":"url_key","value":"individual-training"},{"attribute_code":"gift_message_available","value":"2"},{"attribute_code":"required_options","value":"0"},{"attribute_code":"has_options","value":"0"},{"attribute_code":"meta_title","value":"Training"},{"attribute_code":"meta_keyword","value":"Training"},{"attribute_code":"meta_description","value":"Training + "},{"attribute_code":"tax_class_id","value":"2"},{"attribute_code":"category_ids","value":[]}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 08 May 2020 06:38:35 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=sakss111acdaqtu5jcutnv6blc; expires=Fri, 08-May-2020 + 07:38:35 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['1589'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_product_export_qty.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_product_export_qty.yaml new file mode 100644 index 000000000..3a2ec3654 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_product_export_qty.yaml @@ -0,0 +1,56 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/stockItems/MH09-L-Blue + response: + body: {string: '{"item_id":190,"product_id":190,"stock_id":1,"qty":30,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 17:17:05 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=j0jtqjie0bet5epqc0q19vai8p; expires=Fri, 01-May-2020 + 18:17:05 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['618'] + status: {code: 200, message: OK} +- request: + body: '{"stockItem": {"qty": 30.0, "is_in_stock": 1}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['46'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: PUT + uri: http://magento/index.php/rest/V1/products/MH09-L-Blue/stockItems/190 + response: + body: {string: '"190"'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 17:17:11 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=ou0q9m50rd61d6beq35o1430k2; expires=Fri, 01-May-2020 + 18:17:11 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['5'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_product_export_qty_config.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_product_export_qty_config.yaml new file mode 100644 index 000000000..cd7df6d69 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_product_export_qty_config.yaml @@ -0,0 +1,57 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/stockItems/MH09-L-Blue + response: + body: {string: '{"item_id":190,"product_id":190,"stock_id":1,"qty":30,"is_in_stock":true,"is_qty_decimal":false,"show_default_notification_message":false,"use_config_min_qty":true,"min_qty":0,"use_config_min_sale_qty":1,"min_sale_qty":1,"use_config_max_sale_qty":true,"max_sale_qty":10000,"use_config_backorders":true,"backorders":0,"use_config_notify_stock_qty":true,"notify_stock_qty":1,"use_config_qty_increments":true,"qty_increments":0,"use_config_enable_qty_inc":true,"enable_qty_increments":false,"use_config_manage_stock":true,"manage_stock":true,"low_stock_date":null,"is_decimal_divided":false,"stock_status_changed_auto":0}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 17:24:34 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=cci0ibr71n234f7e2aq1gphgm7; expires=Fri, 01-May-2020 + 18:24:34 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['618'] + status: {code: 200, message: OK} +- request: + body: '{"stockItem": {"qty": 333.0, "is_in_stock": 1, "manage_stock": 1, "use_config_manage_stock": + 0, "backorders": 2, "use_config_backorders": 0}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['141'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: PUT + uri: http://magento/index.php/rest/V1/products/MH09-L-Blue/stockItems/190 + response: + body: {string: '"190"'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Fri, 01 May 2020 17:24:35 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=nk492quqnkjosful6h0s7olhc7; expires=Fri, 01-May-2020 + 18:24:35 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['5'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_sale_order_cancel_export.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_sale_order_cancel_export.yaml new file mode 100644 index 000000000..fce68fa63 --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_sale_order_cancel_export.yaml @@ -0,0 +1,118 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/12 + response: + body: {string: '{"applied_rule_ids":"2,3","base_currency_code":"USD","base_discount_amount":-58.6,"base_grand_total":253.74,"base_discount_tax_compensation_amount":0,"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"base_subtotal":293,"base_subtotal_incl_tax":317.17,"base_tax_amount":19.34,"base_total_due":253.74,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":24,"created_at":"2020-04-25 + 07:23:37","customer_dob":"1973-12-15 00:00:00","customer_email":"roni_cost@example.com","customer_firstname":"Veronica","customer_gender":2,"customer_group_id":1,"customer_id":1,"customer_is_guest":0,"customer_lastname":"Costello","customer_note_notify":1,"discount_amount":-58.6,"entity_id":12,"global_currency_code":"USD","grand_total":253.74,"discount_tax_compensation_amount":0,"increment_id":"000000015","is_virtual":0,"order_currency_code":"USD","protect_code":"1917cc88c340d5465fb6df10b5bf56ef","quote_id":15,"shipping_amount":0,"shipping_description":"Best + Way - Table Rate","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0,"state":"processing","status":"processing","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":293,"subtotal_incl_tax":317.17,"tax_amount":19.34,"total_due":253.74,"total_item_count":2,"total_qty_ordered":2,"updated_at":"2020-04-25 + 15:19:31","weight":1,"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":23,"email":"roni_cost@example.com","entity_id":24,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":253.74,"base_amount_ordered":253.74,"base_shipping_amount":0,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":12,"method":"checkmo","parent_id":12,"shipping_amount":0},"status_histories":[],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"Calder","country_id":"US","customer_address_id":22,"email":"roni_cost@example.com","entity_id":23,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"method":"tablerate_bestway","total":{"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"shipping_amount":0,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[{"code":"US-MI-*-Rate 1","title":"US-MI-*-Rate + 1","percent":8.25,"amount":19.34,"base_amount":19.34}],"item_applied_taxes":[{"type":"product","item_id":24,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":4.55,"base_amount":4.55}]},{"type":"product","item_id":25,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":14.79,"base_amount":14.79}]}],"converting_from_quote":true}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 15:35:28 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=a9vcli3jkvp6atrtb4ul2vebn1; expires=Sat, 25-Apr-2020 + 16:35:28 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['7725'] + status: {code: 200, message: OK} +- request: + body: '{"entity": {"entity_id": "12", "state": "canceled", "status": "canceled"}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['74'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/orders + response: + body: {string: '{"base_grand_total":null,"base_total_due":0,"billing_address_id":24,"created_at":"2020-04-25 + 07:23:37","customer_email":null,"entity_id":12,"grand_total":null,"protect_code":"936bf8ba0041d1e41ce46686bf929b38","state":"canceled","status":"canceled","total_due":0,"updated_at":"2020-04-25 + 15:35:28","items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":23,"email":"roni_cost@example.com","entity_id":24,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":253.74,"base_amount_ordered":253.74,"base_shipping_amount":0,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":12,"method":"checkmo","parent_id":12,"shipping_amount":0},"status_histories":[]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 15:35:28 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=d2ppsuslo9bjc73lfljm1c9k4h; expires=Sat, 25-Apr-2020 + 16:35:28 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3058'] + status: {code: 200, message: OK} +- request: + body: '{"statusHistory": {"comment": "canceled", "is_customer_notified": 0, "is_visible_on_front": + 0}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['95'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/orders/12/comments + response: + body: {string: 'true'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 15:35:28 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=5umhs3e6ti8bjrh48k9p0shamr; expires=Sat, 25-Apr-2020 + 16:35:28 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['4'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/fixtures/cassettes/test_sale_order_reopen_export.yaml b/connector_magento/tests/magento2/fixtures/cassettes/test_sale_order_reopen_export.yaml new file mode 100644 index 000000000..8cc03e79f --- /dev/null +++ b/connector_magento/tests/magento2/fixtures/cassettes/test_sale_order_reopen_export.yaml @@ -0,0 +1,244 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/12 + response: + body: {string: '{"applied_rule_ids":"2,3","base_currency_code":"USD","base_discount_amount":-58.6,"base_grand_total":253.74,"base_discount_tax_compensation_amount":0,"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"base_subtotal":293,"base_subtotal_incl_tax":317.17,"base_tax_amount":19.34,"base_total_due":253.74,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":24,"created_at":"2020-04-25 + 07:23:37","customer_dob":"1973-12-15 00:00:00","customer_email":"roni_cost@example.com","customer_firstname":"Veronica","customer_gender":2,"customer_group_id":1,"customer_id":1,"customer_is_guest":0,"customer_lastname":"Costello","customer_note_notify":1,"discount_amount":-58.6,"entity_id":12,"global_currency_code":"USD","grand_total":253.74,"discount_tax_compensation_amount":0,"increment_id":"000000015","is_virtual":0,"order_currency_code":"USD","protect_code":"2c279a987a26c13a01ee8941ab8ba2a6","quote_id":15,"shipping_amount":0,"shipping_description":"Best + Way - Table Rate","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0,"state":"pending","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":293,"subtotal_incl_tax":317.17,"tax_amount":19.34,"total_due":253.74,"total_item_count":2,"total_qty_ordered":2,"updated_at":"2020-04-25 + 15:46:13","weight":1,"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":23,"email":"roni_cost@example.com","entity_id":24,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":253.74,"base_amount_ordered":253.74,"base_shipping_amount":0,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":12,"method":"checkmo","parent_id":12,"shipping_amount":0},"status_histories":[{"comment":"pending","created_at":"2020-04-25 + 15:46:13","entity_id":10,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"canceled","created_at":"2020-04-25 + 15:35:28","entity_id":9,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12}],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"Calder","country_id":"US","customer_address_id":22,"email":"roni_cost@example.com","entity_id":23,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"method":"tablerate_bestway","total":{"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"shipping_amount":0,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[{"code":"US-MI-*-Rate 1","title":"US-MI-*-Rate + 1","percent":8.25,"amount":19.34,"base_amount":19.34}],"item_applied_taxes":[{"type":"product","item_id":24,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":4.55,"base_amount":4.55}]},{"type":"product","item_id":25,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":14.79,"base_amount":14.79}]}],"converting_from_quote":true}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 16:50:52 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=nt5vsn0kku25umfjctum2rsr5l; expires=Sat, 25-Apr-2020 + 17:50:52 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['7971'] + status: {code: 200, message: OK} +- request: + body: '{"entity": {"entity_id": "12", "state": "canceled", "status": "canceled"}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['74'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/orders + response: + body: {string: '{"base_grand_total":null,"base_total_due":0,"billing_address_id":24,"created_at":"2020-04-25 + 07:23:37","customer_email":null,"entity_id":12,"grand_total":null,"protect_code":"552d3ecf5fc043c9b5a54e499eb52aff","state":"canceled","status":"canceled","total_due":0,"updated_at":"2020-04-25 + 16:50:52","items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":23,"email":"roni_cost@example.com","entity_id":24,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":253.74,"base_amount_ordered":253.74,"base_shipping_amount":0,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":12,"method":"checkmo","parent_id":12,"shipping_amount":0},"status_histories":[{"comment":"pending","created_at":"2020-04-25 + 15:46:13","entity_id":10,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"canceled","created_at":"2020-04-25 + 15:35:28","entity_id":9,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 16:50:53 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=dojhvs2puj8r80tfoo8ensokaf; expires=Sat, 25-Apr-2020 + 17:50:52 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3329'] + status: {code: 200, message: OK} +- request: + body: '{"statusHistory": {"comment": "canceled", "is_customer_notified": 0, "is_visible_on_front": + 0}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['95'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/orders/12/comments + response: + body: {string: 'true'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 16:50:53 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=tj21cunv34cbalcn938ddo3rdf; expires=Sat, 25-Apr-2020 + 17:50:53 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['4'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.19.1] + method: GET + uri: http://magento/index.php/rest/V1/orders/12 + response: + body: {string: '{"applied_rule_ids":"2,3","base_currency_code":"USD","base_discount_amount":-58.6,"base_grand_total":253.74,"base_discount_tax_compensation_amount":0,"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"base_subtotal":293,"base_subtotal_incl_tax":317.17,"base_tax_amount":19.34,"base_total_due":253.74,"base_to_global_rate":1,"base_to_order_rate":1,"billing_address_id":24,"created_at":"2020-04-25 + 07:23:37","customer_dob":"1973-12-15 00:00:00","customer_email":"roni_cost@example.com","customer_firstname":"Veronica","customer_gender":2,"customer_group_id":1,"customer_id":1,"customer_is_guest":0,"customer_lastname":"Costello","customer_note_notify":1,"discount_amount":-58.6,"entity_id":12,"global_currency_code":"USD","grand_total":253.74,"discount_tax_compensation_amount":0,"increment_id":"000000015","is_virtual":0,"order_currency_code":"USD","protect_code":"0de6e0b8361fca10483e9fcf883905ad","quote_id":15,"shipping_amount":0,"shipping_description":"Best + Way - Table Rate","shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0,"state":"canceled","store_currency_code":"USD","store_id":1,"store_name":"Main + Website\nMain Website Store\nDefault Store View","store_to_base_rate":0,"store_to_order_rate":0,"subtotal":293,"subtotal_incl_tax":317.17,"tax_amount":19.34,"total_due":253.74,"total_item_count":2,"total_qty_ordered":2,"updated_at":"2020-04-25 + 16:50:53","weight":1,"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":23,"email":"roni_cost@example.com","entity_id":24,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":253.74,"base_amount_ordered":253.74,"base_shipping_amount":0,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":12,"method":"checkmo","parent_id":12,"shipping_amount":0},"status_histories":[{"comment":"canceled","created_at":"2020-04-25 + 16:50:53","entity_id":11,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"pending","created_at":"2020-04-25 + 15:46:13","entity_id":10,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"canceled","created_at":"2020-04-25 + 15:35:28","entity_id":9,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12}],"extension_attributes":{"shipping_assignments":[{"shipping":{"address":{"address_type":"shipping","city":"Calder","country_id":"US","customer_address_id":22,"email":"roni_cost@example.com","entity_id":23,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"method":"tablerate_bestway","total":{"base_shipping_amount":0,"base_shipping_discount_amount":0,"base_shipping_discount_tax_compensation_amnt":0,"base_shipping_incl_tax":0,"base_shipping_tax_amount":0,"shipping_amount":0,"shipping_discount_amount":0,"shipping_discount_tax_compensation_amount":0,"shipping_incl_tax":0,"shipping_tax_amount":0}},"items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}]}],"payment_additional_info":[{"key":"method_title","value":"Check + \/ Money order"}],"applied_taxes":[{"code":"US-MI-*-Rate 1","title":"US-MI-*-Rate + 1","percent":8.25,"amount":19.34,"base_amount":19.34}],"item_applied_taxes":[{"type":"product","item_id":24,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":4.55,"base_amount":4.55}]},{"type":"product","item_id":25,"applied_taxes":[{"code":"US-MI-*-Rate + 1","title":"US-MI-*-Rate 1","percent":8.25,"amount":14.79,"base_amount":14.79}]}],"converting_from_quote":true}}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 16:50:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=lrshqrhl025uh33iudr3oflfki; expires=Sat, 25-Apr-2020 + 17:50:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['8109'] + status: {code: 200, message: OK} +- request: + body: '{"entity": {"entity_id": "12", "state": "pending", "status": "pending"}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['72'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/orders + response: + body: {string: '{"base_grand_total":null,"base_total_due":0,"billing_address_id":24,"created_at":"2020-04-25 + 07:23:37","customer_email":null,"entity_id":12,"grand_total":null,"protect_code":"df5e127a5dcf2e4492c8448f393dc7dc","state":"pending","status":"pending","total_due":0,"updated_at":"2020-04-25 + 16:50:54","items":[{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":13.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":69,"base_price":69,"base_price_incl_tax":74.69,"base_row_invoiced":0,"base_row_total":55.2,"base_row_total_incl_tax":59.75,"base_tax_amount":4.55,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":13.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":24,"name":"Abominable + Hoodie-XS-Blue","no_discount":0,"order_id":12,"original_price":69,"price":69,"price_incl_tax":74.69,"product_id":181,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":35,"row_invoiced":0,"row_total":55.2,"row_total_incl_tax":59.75,"row_weight":0,"sku":"MH09-XS-Blue","store_id":1,"tax_amount":4.55,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37","weight":1},{"amount_refunded":0,"applied_rule_ids":"2,3","base_amount_refunded":0,"base_discount_amount":44.8,"base_discount_invoiced":0,"base_discount_tax_compensation_amount":0,"base_original_price":224,"base_price":224,"base_price_incl_tax":242.48,"base_row_invoiced":0,"base_row_total":179.2,"base_row_total_incl_tax":193.99,"base_tax_amount":14.79,"base_tax_invoiced":0,"created_at":"2020-04-25 + 07:23:37","discount_amount":44.8,"discount_invoiced":0,"discount_percent":20,"free_shipping":0,"discount_tax_compensation_amount":0,"is_qty_decimal":0,"is_virtual":0,"item_id":25,"name":"Racer + Back Maxi Dress","no_discount":0,"order_id":12,"original_price":224,"price":224,"price_incl_tax":242.48,"product_id":2051,"product_type":"simple","qty_canceled":0,"qty_invoiced":0,"qty_ordered":1,"qty_refunded":0,"qty_shipped":0,"quote_item_id":36,"row_invoiced":0,"row_total":179.2,"row_total_incl_tax":193.99,"row_weight":0,"sku":"RACER","store_id":1,"tax_amount":14.79,"tax_invoiced":0,"tax_percent":8.25,"updated_at":"2020-04-25 + 07:23:37"}],"billing_address":{"address_type":"billing","city":"Calder","country_id":"US","customer_address_id":23,"email":"roni_cost@example.com","entity_id":24,"firstname":"Veronica","lastname":"Costello","parent_id":12,"postcode":"49628-7978","region":"Michigan","region_code":"MI","region_id":33,"street":["6146 + Honey Bluff Parkway"],"telephone":"(555) 229-3326"},"payment":{"account_status":null,"additional_information":["Check + \/ Money order"],"amount_ordered":253.74,"base_amount_ordered":253.74,"base_shipping_amount":0,"cc_exp_year":"0","cc_last4":null,"cc_ss_start_month":"0","cc_ss_start_year":"0","entity_id":12,"method":"checkmo","parent_id":12,"shipping_amount":0},"status_histories":[{"comment":"canceled","created_at":"2020-04-25 + 16:50:53","entity_id":11,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"pending","created_at":"2020-04-25 + 15:46:13","entity_id":10,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12},{"comment":"canceled","created_at":"2020-04-25 + 15:35:28","entity_id":9,"is_customer_notified":0,"is_visible_on_front":0,"parent_id":12}]}'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 16:50:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=p3e9tkplscimoep8cpce8d1pcu; expires=Sat, 25-Apr-2020 + 17:50:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['3464'] + status: {code: 200, message: OK} +- request: + body: '{"statusHistory": {"comment": "pending", "is_customer_notified": 0, "is_visible_on_front": + 0}}' + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['94'] + Content-Type: [application/json] + User-Agent: [python-requests/2.19.1] + method: POST + uri: http://magento/index.php/rest/V1/orders/12/comments + response: + body: {string: 'true'} + headers: + Cache-Control: ['no-store, no-cache, must-revalidate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + Date: ['Sat, 25 Apr 2020 16:50:54 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.14.0 (Ubuntu)] + Set-Cookie: ['PHPSESSID=93p52tq4lph8srr55lopet0ome; expires=Sat, 25-Apr-2020 + 17:50:54 GMT; Max-Age=3600; path=/; domain=magento; HttpOnly'] + Transfer-Encoding: [chunked] + Vary: [Accept-Encoding] + X-Frame-Options: [SAMEORIGIN] + content-length: ['4'] + status: {code: 200, message: OK} +version: 1 diff --git a/connector_magento/tests/magento2/test_magento2_concurrent_sync.py b/connector_magento/tests/magento2/test_magento2_concurrent_sync.py new file mode 100644 index 000000000..2042232f6 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_concurrent_sync.py @@ -0,0 +1,57 @@ +# Copyright 2015-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import mock + +from odoo import api +from odoo.tests import common +from odoo.modules.registry import Registry + +from odoo.addons.queue_job.exception import RetryableJobError +from odoo.addons.component.core import WorkContext + +from .common import Magento2TestCase + + +class TestConcurrentSync(Magento2TestCase): + + def setUp(self): + super(TestConcurrentSync, self).setUp() + self.registry2 = Registry.registries.get(common.get_db_name()) + self.cr2 = self.registry2.cursor() + self.env2 = api.Environment(self.cr2, self.env.uid, {}) + + @self.addCleanup + def reset_cr2(): + # rollback and close the cursor, and reset the environments + self.env2.reset() + self.cr2.rollback() + self.cr2.close() + + backend2 = mock.MagicMock(name='Backend Record') + backend2._name = 'magento.backend' + backend2.id = self.backend.id + backend2.env = self.env2 + self.backend2 = backend2 + + def test_concurrent_import(self): + api_client = mock.MagicMock(name='Magento API') + api_client.call.return_value = { + 'name': 'Root', + 'description': '', + 'level': '1', + } + work = WorkContext(model_name='magento.product.category', + collection=self.backend, + magento_api=api_client) + importer = work.component_by_name('magento.product.category.importer') + importer.run(1) + + work2 = WorkContext(model_name='magento.product.category', + collection=self.backend2, + magento_api=api_client) + importer2 = work2.component_by_name( + 'magento.product.category.importer' + ) + with self.assertRaises(RetryableJobError): + importer2.run(1) diff --git a/connector_magento/tests/magento2/test_magento2_export_invoice.py b/connector_magento/tests/magento2/test_magento2_export_invoice.py new file mode 100644 index 000000000..b0399b112 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_export_invoice.py @@ -0,0 +1,175 @@ +# Copyright 2013-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import json +from .common import Magento2SyncTestCase, recorder + + +class TestExportInvoice(Magento2SyncTestCase): + """ Test the export of an invoice to Magento """ + + def setUp(self): + super(TestExportInvoice, self).setUp() + self.sale_binding_model = self.env['magento.sale.order'] + self.payment_mode = self.env['account.payment.mode'].search( + [('name', '=', 'checkmo')], + limit=1, + ) + self.pay_account = self.env['account.account'].search( + [('code', '=', '101501')], + limit=1, + ) + self.order_binding = self._import_record( + 'magento.sale.order', '16' + ) + self.order_binding.payment_mode_id = self.payment_mode + self.stores = self.backend.mapped('website_ids.store_ids') + # ignore exceptions on the sale order + self.order_binding.ignore_exception = True + self.order_binding.odoo_id.action_confirm() + invoice_ids = self.order_binding.odoo_id.action_invoice_create() + assert invoice_ids + self.invoice_model = self.env['account.invoice'] + self.invoice = self.invoice_model.browse(invoice_ids) + + def test_export_invoice_on_validate_trigger(self): + """ Trigger export of an invoice: when it is validated """ + # we setup the stores so they export the invoices as soon + # as they are validated (open) + self.stores.write({'create_invoice_on': 'open'}) + # prevent to create the job + with self.mock_with_delay() as (delayable_cls, delayable): + self._invoice_open() + self.assertEqual(self.invoice.state, 'open') + + self.assertEqual(len(self.invoice.magento_bind_ids), 1) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.invoice.magento_bind_ids,), delay_args) + + delayable.export_record.assert_called_with() + + # pay and verify it is NOT called + with self.mock_with_delay() as (delayable_cls, delayable): + self._pay_and_reconcile() + self.assertEqual(self.invoice.state, 'paid') + self.assertEqual(0, delayable_cls.call_count) + + def test_export_invoice_on_paid_trigger(self): + """ Trigger export of an invoice: when it is paid """ + # we setup the stores so they export the invoices as soon + # as they are validated (open) + self.stores.write({'create_invoice_on': 'paid'}) + # prevent to create the job + with self.mock_with_delay() as (delayable_cls, delayable): + self._invoice_open() + self.assertEqual(self.invoice.state, 'open') + + self.assertEqual(0, delayable_cls.call_count) + + # pay and verify it is NOT called + with self.mock_with_delay() as (delayable_cls, delayable): + self._pay_and_reconcile() + + self.assertEqual(self.invoice.state, 'paid') + self.assertEqual(len(self.invoice.magento_bind_ids), 1) + + self.assertEqual(1, delayable_cls.call_count) + + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.invoice.magento_bind_ids,), delay_args) + + delayable.export_record.assert_called_with() + + def test_export_invoice_on_payment_mode_validate_trigger(self): + """ Exporting an invoice: when it is validated with payment mode """ + # we setup the stores so they export the invoices as soon + # as they are validated (open) + self.payment_mode.write({'create_invoice_on': 'open'}) + # ensure we use the option of the payment method, not store + self.stores.write({'create_invoice_on': 'paid'}) + with self.mock_with_delay() as (delayable_cls, delayable): + self._invoice_open() + self.assertEqual(self.invoice.state, 'open') + + self.assertEqual(len(self.invoice.magento_bind_ids), 1) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.invoice.magento_bind_ids,), delay_args) + + delayable.export_record.assert_called_with() + + # pay and verify it is NOT called + with self.mock_with_delay() as (delayable_cls, delayable): + self._pay_and_reconcile() + self.assertEqual(self.invoice.state, 'paid') + self.assertEqual(0, delayable_cls.call_count) + + def test_export_invoice_on_payment_mode_paid_trigger(self): + """ Exporting an invoice: when it is paid on payment method """ + # we setup the stores so they export the invoices as soon + # as they are validated (open) + self.payment_mode.write({'create_invoice_on': 'paid'}) + # ensure we use the option of the payment method, not store + self.stores.write({'create_invoice_on': 'open'}) + with self.mock_with_delay() as (delayable_cls, delayable): + self._invoice_open() + self.assertEqual(self.invoice.state, 'open') + self.assertEqual(0, delayable_cls.call_count) + + # pay and verify it is NOT called + with self.mock_with_delay() as (delayable_cls, delayable): + self._pay_and_reconcile() + self.assertEqual(self.invoice.state, 'paid') + + self.assertEqual(len(self.invoice.magento_bind_ids), 1) + + self.assertEqual(1, delayable_cls.call_count) + + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.invoice.magento_bind_ids,), delay_args) + + delayable.export_record.assert_called_with() + + def _invoice_open(self): + self.invoice.action_invoice_open() + + def _pay_and_reconcile(self): + self.invoice.pay_and_reconcile( + self.journal, + pay_amount=self.invoice.amount_total, + writeoff_acc=self.pay_account, + ) + + def test_export_invoice_job(self): + """ Exporting an invoice: call towards the Magento API """ + # we setup the payment method so it exports the invoices as soon + # as they are validated (open) + self.payment_mode.write({'create_invoice_on': 'open'}) + self.stores.write({'send_invoice_paid_mail': True}) + + with self.mock_with_delay(): + self._invoice_open() + + invoice_binding = self.invoice.magento_bind_ids + self.assertEqual(len(invoice_binding), 1) + + with recorder.use_cassette( + 'test_export_invoice') as cassette: + + invoice_binding.export_record() + + self.assertEqual(1, len(cassette.requests)) + self.assertEqual( + cassette.requests[0].uri, + 'http://magento/index.php/rest/V1/order/16/invoice') + self.assertDictEqual( + json.loads(cassette.requests[0].body.decode('utf-8')), + {"capture": False, + "items": [{"orderItemId": "32", "qty": 1.0}], + "comment": {"comment": "Invoice Created", "isVisibleOnFront": 0}, + "appendComment": False}) + self.assertEqual(invoice_binding.external_id, '4') diff --git a/connector_magento/tests/magento2/test_magento2_export_picking.py b/connector_magento/tests/magento2/test_magento2_export_picking.py new file mode 100644 index 000000000..af3ce3775 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_export_picking.py @@ -0,0 +1,245 @@ +# Copyright 2014-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import json +from .common import Magento2SyncTestCase, recorder + + +class TestExportPicking(Magento2SyncTestCase): + """ Test the export of pickings to Magento """ + + def setUp(self): + super(TestExportPicking, self).setUp() + # import a sales order + self.order_binding = self._import_record( + 'magento.sale.order', '12', + ) + self.order_binding.ignore_exception = True + # generate sale's picking + self.order_binding.odoo_id.action_confirm() + # Create inventory for add stock qty to lines + # With this commit https://goo.gl/fRTLM3 the moves that where + # force-assigned are not transferred in the picking + for line in self.order_binding.odoo_id.order_line: + if line.product_id.type == 'product': + inventory = self.env['stock.inventory'].create({ + 'name': 'Inventory for line %s' % line.name, + 'filter': 'product', + 'product_id': line.product_id.id, + 'line_ids': [(0, 0, { + 'product_id': line.product_id.id, + 'product_qty': line.product_uom_qty, + 'location_id': + self.env.ref('stock.stock_location_stock').id + })] + }) + inventory.action_validate() + self.picking = self.order_binding.picking_ids + self.assertEqual(len(self.picking), 1) + magento_shop = self.picking.sale_id.magento_bind_ids[0].store_id + magento_shop.send_picking_done_mail = True + + def test_export_complete_picking_trigger(self): + """ Trigger export of a complete picking """ + self.picking.action_assign() + with self.mock_with_delay() as (delayable_cls, delayable): + # Deliver the entire picking, a 'magento.stock.picking' + # should be created, then a job is generated that will export + # the picking. Here the job is not created because we mock + # 'with_delay()' + self.env['stock.immediate.transfer'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + self.assertEqual('complete', picking_binding.picking_method) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((picking_binding,), delay_args) + + delayable.export_picking_done.assert_called_with( + with_tracking=False + ) + + def test_export_complete_picking_job(self): + """ Exporting a complete picking """ + self.picking.action_assign() + with self.mock_with_delay(): + # Deliver the entire picking, a 'magento.stock.picking' + # should be created, then a job is generated that will export + # the picking. Here the job is not created because we mock + # 'with_delay()' + self.env['stock.immediate.transfer'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + + with recorder.use_cassette( + 'test_export_picking_complete') as cassette: + picking_binding.export_picking_done(with_tracking=False) + + self.assertEqual(1, len(cassette.requests)) + self.assertEqual( + cassette.requests[0].uri, + 'http://magento/index.php/rest/V1/order/12/ship') + self.assertDictEqual( + json.loads(cassette.requests[0].body.decode('utf-8')), + {"items": [ + {"order_item_id": "24", "qty": 1.0}, + {"order_item_id": "25", "qty": 1.0}, + ]}) + + # Check that we have received and bound the magento ID + self.assertEqual(picking_binding.external_id, '3') + + def test_export_partial_picking_trigger(self): + """ Trigger export of a partial picking """ + # Prepare a partial picking + # The sale order contains 2 lines with 1 product each + self.picking.action_assign() + self.picking.move_lines[0].quantity_done = 1 + self.picking.move_lines[1].quantity_done = 0 + # Remove reservation for line index 1 + self.picking.move_lines[1].move_line_ids.unlink() + + with self.mock_with_delay() as (delayable_cls, delayable): + # Deliver the entire picking, a 'magento.stock.picking' + # should be created, then a job is generated that will export + # the picking. Here the job is not created because we mock + # 'with_delay()' + backorder_action = self.picking.button_validate() + self.assertEqual( + backorder_action['res_model'], 'stock.backorder.confirmation', + 'A backorder confirmation wizard action must be created') + # Confirm backorder creation + self.env['stock.backorder.confirmation'].browse( + backorder_action['res_id']).process() + + self.assertEqual(self.picking.state, 'done') + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + self.assertEqual('partial', picking_binding.picking_method) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((picking_binding,), delay_args) + + delayable.export_picking_done.assert_called_with( + with_tracking=False + ) + + def test_export_partial_picking_job(self): + """ Exporting a partial picking """ + # Prepare a partial picking + # The sale order contains 2 lines with 1 product each + self.picking.action_assign() + self.picking.move_lines[0].quantity_done = 1 + self.picking.move_lines[1].quantity_done = 0 + + with self.mock_with_delay(): + # Deliver the entire picking, a 'magento.stock.picking' + # should be created, then a job is generated that will export + # the picking. Here the job is not created because we mock + # 'with_delay()' + self.env['stock.backorder.confirmation'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + + with recorder.use_cassette( + 'test_export_picking_partial') as cassette: + picking_binding.export_picking_done(with_tracking=False) + + self.assertEqual( + cassette.requests[0].uri, + 'http://magento/index.php/rest/V1/order/12/ship') + self.assertDictEqual( + json.loads(cassette.requests[0].body.decode('utf-8')), + {"items": [ + {"order_item_id": "24", "qty": 1.0}, + ]}) + + # Check that we have received and bound the magento ID + self.assertEqual(picking_binding.external_id, '5') + + def test_export_tracking_after_done_trigger(self): + """ Trigger export of a tracking number """ + self.picking.action_assign() + + with self.mock_with_delay(): + self.env['stock.immediate.transfer'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + + with self.mock_with_delay() as (delayable_cls, delayable): + self.picking.carrier_tracking_ref = 'XYZ' + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((picking_binding,), delay_args) + + delayable.export_tracking_number.assert_called_with() + + def test_export_tracking_after_done_job(self): + """ Job export of a tracking number """ + self.picking.action_assign() + + with self.mock_with_delay(): + self.env['stock.immediate.transfer'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + self.picking.carrier_tracking_ref = 'XYZ' + self.order_binding.carrier_id.magento_tracking_title = 'Your shipment' + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + picking_binding.external_id = '3' + + with recorder.use_cassette( + 'test_export_tracking_number') as cassette: + picking_binding.export_tracking_number() + + self.assertEqual(1, len(cassette.requests)) + self.assertEqual( + cassette.requests[0].uri, + 'http://magento/index.php/rest/V1/shipment/track') + self.assertEqual( + json.loads(cassette.requests[0].body.decode('utf-8')), + {'entity': { + 'order_id': '12', + 'parent_id': '3', + 'weight': 0, + 'qty': 1, + 'description': 'WH/OUT/00082', + 'track_number': 'XYZ', + 'title': 'Your shipment', + 'carrier_code': 'tablerate', + }}) diff --git a/connector_magento/tests/magento2/test_magento2_export_product_stock.py b/connector_magento/tests/magento2/test_magento2_export_product_stock.py new file mode 100644 index 000000000..0cff364a6 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_export_product_stock.py @@ -0,0 +1,217 @@ +# Copyright 2015-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import json +from .common import Magento2SyncTestCase, recorder + + +class TestUpdateStockQty(Magento2SyncTestCase): + """ Test the export of pickings to Magento """ + + def _product_change_qty(self, product, new_qty, location_id=False): + wizard_model = self.env['stock.change.product.qty'] + data = {'product_id': product.id, + 'new_quantity': new_qty} + if location_id: + data['location_id'] = location_id + wizard = wizard_model.create(data) + wizard.change_product_qty() + + def setUp(self): + super(TestUpdateStockQty, self).setUp() + self.binding_product = self._import_record( + 'magento.product.product', 'MH09-L-Blue', + ) + + def test_compute_new_qty(self): + product = self.binding_product.odoo_id + binding = self.binding_product + # start with 0 + self.assertEqual(product.virtual_available, 0.0) + self.assertEqual(binding.magento_qty, 0.0) + + # change to 30 + self._product_change_qty(product, 30) + + # the virtual available is 30, the magento qty has not been + # updated yet + self.assertEqual(product.virtual_available, 30.0) + self.assertEqual(binding.magento_qty, 0.0) + + # search for the new quantities to push to Magento + # we mock the job so we can check it .delay() is called on it + # when the quantity is changed + with self.mock_with_delay() as (delayable_cls, delayable): + binding.recompute_magento_qty() + self.assertEqual(binding.magento_qty, 30.0) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((binding,), delay_args) + self.assertEqual(20, delay_kwargs.get('priority')) + + delayable.export_inventory.assert_called_with( + fields=['magento_qty'], + ) + + def test_compute_new_qty_different_field(self): + stock_field = self.env.ref( + 'stock.field_product_product__qty_available') + self.backend.product_stock_field_id = stock_field + product = self.binding_product.odoo_id + binding = self.binding_product + # start with 0 + self.assertEqual(product.qty_available, 0.0) + self.assertEqual(product.virtual_available, 0.0) + self.assertEqual(binding.magento_qty, 0.0) + + # change to 30 + self._product_change_qty(product, 30) + + # the virtual available is 30, the magento qty has not been + # updated yet + self.assertEqual(product.qty_available, 30.0) + self.assertEqual(product.virtual_available, 30.0) + self.assertEqual(binding.magento_qty, 0.0) + + # create an outgoing move + customer_location = self.env.ref('stock.stock_location_customers') + outgoing = self.env['stock.move'].create({ + 'name': product.name, + 'product_id': product.id, + 'product_uom_qty': 11, + 'product_uom': product.uom_id.id, + 'location_id': self.env.ref('stock.stock_location_stock').id, + 'location_dest_id': customer_location.id, + }) + outgoing._action_confirm() + outgoing._action_assign() + + # the virtual is now 19, available still 30 + self.assertEqual(product.qty_available, 30.0) + self.assertEqual(product.virtual_available, 19.0) + self.assertEqual(binding.magento_qty, 0.0) + + # search for the new quantities to push to Magento + # we mock the job so we can check it .delay() is called on it + # when the quantity is changed + with self.mock_with_delay() as (delayable_cls, delayable): + binding.recompute_magento_qty() + # since we have chose to use the field qty_available on the + # backend, we should have 30 + self.assertEqual(binding.magento_qty, 30.0) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((binding,), delay_args) + self.assertEqual(20, delay_kwargs.get('priority')) + + delayable.export_inventory.assert_called_with( + fields=['magento_qty'], + ) + + def test_export_qty_api(self): + product = self.binding_product.odoo_id + binding = self.binding_product + + self._product_change_qty(product, 30) + with self.mock_with_delay(): # disable job + binding.recompute_magento_qty() + + with recorder.use_cassette( + 'test_product_export_qty') as cassette: + # call the job directly + binding.export_inventory(fields=['magento_qty']) + + self.assertEqual(2, len(cassette.requests)) + self.assertEqual( + json.loads(cassette.requests[1].body.decode('utf-8')), + {"stockItem": {"qty": 30.0, "is_in_stock": 1}}) + + def test_export_product_inventory_write(self): + with self.mock_with_delay() as (delayable_cls, delayable): + self.binding_product.write({ + 'magento_qty': 333, + 'backorders': 'yes-and-notification', + 'manage_stock': 'yes', + }) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.binding_product,), delay_args) + self.assertEqual(20, delay_kwargs.get('priority')) + + cargs, ckwargs = delayable.export_inventory.call_args + self.assertFalse(cargs) + self.assertEqual(set(ckwargs.keys()), set(['fields'])) + self.assertEqual( + set(ckwargs['fields']), set([ + 'manage_stock', 'backorders', 'magento_qty'])) + + def test_export_product_inventory_write_job(self): + with self.mock_with_delay(): + self.binding_product.write({ + 'magento_qty': 333, + 'backorders': 'yes-and-notification', + 'manage_stock': 'yes', + }) + + with recorder.use_cassette( + 'test_product_export_qty_config') as cassette: + self.binding_product.export_inventory( + fields=['backorders', 'magento_qty', 'manage_stock'] + ) + + # 1. Get stockItems + # 2. Put stockItem for default location + self.assertEqual(2, len(cassette.requests)) + + # Here we check what call with which args has been done by the + # BackendAdapter towards Magento to export the new stock + # values + self.assertEqual( + json.loads(cassette.requests[1].body.decode('utf-8')), + {"stockItem": { + 'qty': 333., + 'is_in_stock': 1, + 'manage_stock': 1, + 'use_config_manage_stock': 0, + 'backorders': 2, + 'use_config_backorders': 0, + }}) + + def test_compute_new_qty_with_location(self): + product = self.binding_product.odoo_id + binding = self.binding_product + # start with 0 + self.assertEqual(product.virtual_available, 0.0) + self.assertEqual(binding.magento_qty, 0.0) + + my_location_id = self.env.ref("stock.stock_location_components").id + binding = binding.with_context(location=my_location_id) + + # change to 30 + self._product_change_qty(product, 30) + self._product_change_qty(product, 5, my_location_id) + + # the virtual available is 30, the magento qty has not been + # updated yet + self.assertEqual(product.virtual_available, 35.0) + self.assertEqual(binding.magento_qty, 0.0) + + # search for the new quantities to push to Magento + # we mock the job so we can check it .delay() is called on it + # when the quantity is changed + with self.mock_with_delay() as (delayable_cls, delayable): + binding.recompute_magento_qty() + self.assertEqual(binding.magento_qty, 5.0) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((binding,), delay_args) + self.assertEqual(20, delay_kwargs.get('priority')) + + delayable.export_inventory.assert_called_with( + fields=['magento_qty'], + ) diff --git a/connector_magento/tests/magento2/test_magento2_import_metadata.py b/connector_magento/tests/magento2/test_magento2_import_metadata.py new file mode 100644 index 000000000..6e5d9aa11 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_import_metadata.py @@ -0,0 +1,29 @@ +# Copyright 2013-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import Magento2TestCase, recorder + + +class TestImportMetadata(Magento2TestCase): + + def test_import_backend(self): + """ Synchronize initial metadata """ + with recorder.use_cassette('metadata'): + self.backend.synchronize_metadata() + + website_model = self.env['magento.website'] + websites = website_model.search( + [('backend_id', '=', self.backend.id)] + ) + self.assertEqual(len(websites), 1) + + store_model = self.env['magento.store'] + stores = store_model.search([('backend_id', '=', self.backend.id)]) + self.assertEqual(len(stores), 1) + + storeview_model = self.env['magento.storeview'] + storeview = storeview_model.search( + [('backend_id', '=', self.backend.id)]) + self.assertEqual(len(storeview), 1) + self.assertEqual(storeview.base_media_url, 'http://magento/media/') diff --git a/connector_magento/tests/magento2/test_magento2_import_partner.py b/connector_magento/tests/magento2/test_magento2_import_partner.py new file mode 100644 index 000000000..0f8b629e7 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_import_partner.py @@ -0,0 +1,177 @@ +# Copyright 2015-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import Magento2SyncTestCase, recorder + + +class TestImportPartner(Magento2SyncTestCase): + + def setUp(self): + super(TestImportPartner, self).setUp() + category_model = self.env['res.partner.category'] + existing_category = category_model.create({'name': 'General'}) + self.create_binding_no_export( + 'magento.res.partner.category', + existing_category, + 1 + ) + self.model = self.env['magento.res.partner'] + self.address_model = self.env['magento.address'] + + @recorder.use_cassette + def test_import_partner_no_address(self): + """ Import an partner account without any address """ + self.env['magento.res.partner'].import_record(self.backend, '2') + partner = self.model.search([('external_id', '=', '2'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + self.assertEqual(partner.name, 'Benjamin Le Goff') + self.assertEqual(partner.type, 'contact') + self.assertEqual(len(partner.child_ids), 0) + + @recorder.use_cassette + def test_import_partner_individual_1_address(self): + """ Import an individual (b2c) with 1 billing address + + A magento customer is considered an individual if its billing + address has an empty 'company' field + """ + self.env['magento.res.partner'].import_record(self.backend, '1') + partner = self.model.search([('external_id', '=', '1'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Name of the billing address + self.assertEqual(partner.name, 'Veronica Costello') + self.assertEqual(partner.type, 'contact') + # billing address merged with the partner + self.assertEqual(len(partner.child_ids), 0) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 1) + address_bind = partner.magento_address_bind_ids[0] + self.assertEqual(address_bind.external_id, '1', + msg="The merged address should be the " + "billing address") + self.assertEqual(partner.company_id.id, + self.backend.warehouse_id.company_id.id) + + @recorder.use_cassette + def test_import_partner_individual_2_addresses(self): + """ Import an individual (b2c) with 2 addresses + + A magento customer is considered an individual if its billing + address has an empty 'company' field + """ + self.env['magento.res.partner'].import_record(self.backend, '3') + partner = self.model.search([('external_id', '=', '3'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Name of the billing address + self.assertEqual(partner.name, 'Tay Ray') + self.assertEqual(partner.type, 'contact') + # billing address merged with the partner, + # second address as a contact + self.assertEqual(len(partner.child_ids), 1) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 1) + address_bind = partner.magento_address_bind_ids[0] + self.assertEqual(address_bind.external_id, '2', + msg="The merged address should be the " + "billing address") + self.assertEqual(partner.child_ids[0].type, 'delivery', + msg="The shipping address should be of " + "type 'delivery'") + self.assertEqual(partner.company_id.id, + self.backend.company_id.id) + self.assertEqual(partner.child_ids[0].company_id.id, + self.backend.company_id.id) + + @recorder.use_cassette + def test_import_partner_company_1_address(self): + """ Import an company (b2b) with 1 address + + A magento customer is considered a company if its billing + address contains something in the 'company' field + """ + self.env['magento.res.partner'].import_record(self.backend, '5') + + partner = self.model.search([('external_id', '=', '5'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Company of the billing address + self.assertEqual(partner.name, 'DF Services') + self.assertEqual(partner.type, 'contact') + # all addresses as contacts + self.assertEqual(len(partner.child_ids), 1) + self.assertEqual(partner.child_ids.name, 'Drew France') + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 0) + self.assertEqual(partner.child_ids[0].type, 'invoice', + msg="The billing address should be of " + "type 'invoice'") + + @recorder.use_cassette + def test_import_partner_company_2_addresses(self): + """ Import an company (b2b) with 2 addresses + + A magento customer is considered a company if its billing + address contains something in the 'company' field + """ + self.env['magento.res.partner'].import_record(self.backend, '4') + + partner = self.model.search([('external_id', '=', '4'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Company of the billing address + self.assertEqual(partner.name, 'Clay Company') + self.assertEqual(partner.type, 'contact') + # all addresses as contacts + self.assertEqual(len(partner.child_ids), 2) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 0) + + def get_address(external_id): + address = self.address_model.search( + [('external_id', '=', external_id), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(address), 1) + return address + # billing address + address = get_address('4') + self.assertEqual(address.name, 'Clay Lock') + self.assertEqual(address.type, 'invoice', + msg="The billing address should be of " + "type 'invoice'") + # shipping address + address = get_address('5') + self.assertEqual(address.name, 'Clay Lock') + self.assertEqual(address.type, 'delivery', + msg="The shipping address should be of " + "type 'delivery'") + + @recorder.use_cassette('test_import_partner_individual_2_addresses') + def test_import_partner_individual_2_addresses_multi_company(self): + """Import an invidual on multi backend company""" + self.backend.is_multi_company = True + self.env['magento.res.partner'].import_record(self.backend, '3') + + partner = self.model.search([('external_id', '=', '3'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Name of the billing address + self.assertEqual(partner.name, 'Tay Ray') + self.assertEqual(partner.type, 'contact') + # billing address merged with the partner, + # second address as a contact + self.assertEqual(len(partner.child_ids), 1) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 1) + address_bind = partner.magento_address_bind_ids[0] + self.assertEqual(address_bind.external_id, '2', + msg="The merged address should be the " + "billing address") + self.assertEqual(partner.child_ids[0].type, 'delivery', + msg="The shipping address should be of " + "type 'delivery'") + self.assertFalse(partner.company_id.id) + self.assertFalse(partner.child_ids[0].company_id.id) diff --git a/connector_magento/tests/magento2/test_magento2_import_partner_category.py b/connector_magento/tests/magento2/test_magento2_import_partner_category.py new file mode 100644 index 000000000..f0237b952 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_import_partner_category.py @@ -0,0 +1,43 @@ +# Copyright 2015-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import Magento2SyncTestCase, recorder + + +class TestImportPartnerCategory(Magento2SyncTestCase): + + @recorder.use_cassette + def test_import_partner_category(self): + """ Import of a partner category """ + self.env['magento.res.partner.category'].import_record( + self.backend, 2 + ) + + backend_id = self.backend.id + binding_model = self.env['magento.res.partner.category'] + category = binding_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '2')]) + self.assertEqual(len(category), 1) + self.assertEqual(category.name, 'Wholesale') + self.assertEqual(category.tax_class_id, 3) + + @recorder.use_cassette + def test_import_existing_partner_category(self): + """ Bind of an existing category with same name""" + binding_model = self.env['magento.res.partner.category'] + category_model = self.env['res.partner.category'] + + existing_category = category_model.create({'name': 'Wholesale'}) + + self.env['magento.res.partner.category'].import_record( + self.backend, 2 + ) + + backend_id = self.backend.id + category = binding_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '2')]) + self.assertEqual(len(category), 1) + self.assertEqual(category.odoo_id, existing_category) + self.assertEqual(category.name, 'Wholesale') + self.assertEqual(category.tax_class_id, 3) diff --git a/connector_magento/tests/magento2/test_magento2_import_product.py b/connector_magento/tests/magento2/test_magento2_import_product.py new file mode 100644 index 000000000..cbee2df27 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_import_product.py @@ -0,0 +1,118 @@ +# Copyright 2013-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from openerp.addons.connector.exception import InvalidDataError +from .common import Magento2SyncTestCase, recorder + + +class TestImportProduct(Magento2SyncTestCase): + + def setUp(self): + super(TestImportProduct, self).setUp() + + def _create_category(self, name, external_id): + category_model = self.env['product.category'] + category = category_model.create({'name': name}) + self.create_binding_no_export( + 'magento.product.category', category, external_id + ) + + @recorder.use_cassette + def test_import_product(self): + """ Import of a simple product """ + backend_id = self.backend.id + + # create the magento category of this product + self._create_category('Watches', 6) + + # the category of this product has category magento id 18, + # so we already have it + self.env['magento.product.product'].import_record( + self.backend, '24-WG02' + ) + + product_model = self.env['magento.product.product'] + product = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '24-WG02')]) + self.assertEqual(len(product), 1) + + @recorder.use_cassette + def test_import_product_category_missing(self): + """ Import of a simple product when the category is missing """ + backend_id = self.backend.id + self.assertEqual(len(self.env['magento.product.category'].search( + [('backend_id', '=', backend_id)] + )), 0) + + self.env['magento.product.product'].import_record( + self.backend, '24-WG02' + ) + + product_model = self.env['magento.product.product'] + product = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '24-WG02')]) + self.assertEqual(len(product), 1) + # category should have been imported in cascade + self.assertEqual(len(self.env['magento.product.category'].search( + [('backend_id', '=', backend_id)] + )), 6) + + @recorder.use_cassette + def test_import_product_configurable(self): + """ Import of a configurable product : no need to import it + + The 'configurable' part of the product does not need to be imported, + we import only the variants + """ + backend_id = self.backend.id + + self.env['magento.product.product'].import_record( + self.backend, 'MH01' + ) + + product_model = self.env['magento.product.product'] + products = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', 'MH01')]) + self.assertEqual(len(products), 0) + + @recorder.use_cassette + def test_import_product_bundle(self): + """ Bundle should fail: not yet supported """ + with self.assertRaises(InvalidDataError): + self.env['magento.product.product'].import_record( + self.backend, '24-WG080' + ) + + @recorder.use_cassette + def test_import_product_grouped(self): + """ Grouped should fail: not yet supported """ + with self.assertRaises(InvalidDataError): + self.env['magento.product.product'].import_record( + self.backend, '24-WG085_Group' + ) + + @recorder.use_cassette + def test_import_product_virtual(self): + """ Virtual products are created as service products """ + backend_id = self.backend.id + + self.env['magento.product.product'].import_record( + self.backend, 'TRN' + ) + + product_model = self.env['magento.product.product'] + product = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', 'TRN')]) + self.assertEqual(product.type, 'service') + + @recorder.use_cassette + def test_import_product_quoted_sku(self): + """ Import of a simple product """ + backend_id = self.backend.id + self.env['magento.product.product'].import_record( + self.backend, 'bla/koe') + product_model = self.env['magento.product.product'] + product = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', 'bla/koe')]) + self.assertTrue(product) diff --git a/connector_magento/tests/magento2/test_magento2_import_product_category.py b/connector_magento/tests/magento2/test_magento2_import_product_category.py new file mode 100644 index 000000000..5120cd685 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_import_product_category.py @@ -0,0 +1,31 @@ +# Copyright 2013-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import Magento2SyncTestCase, recorder + + +class TestImportProductCategory(Magento2SyncTestCase): + + @recorder.use_cassette + def test_import_product_category(self): + """ Import of a product category """ + backend_id = self.backend.id + + self.env['magento.product.category'].import_record(self.backend, '1') + + category_model = self.env['magento.product.category'] + category = category_model.search([('backend_id', '=', backend_id)]) + self.assertEqual(len(category), 1) + + @recorder.use_cassette + def test_import_product_category_with_gap(self): + """ Import of a product category when parent categories are missing """ + backend_id = self.backend.id + + self.env['magento.product.category'].import_record(self.backend, '41') + + category_model = self.env['magento.product.category'] + categories = category_model.search([('backend_id', '=', backend_id)]) + # tree: Root -> Default -> Women > Bottoms > Test Magento (hidden) + self.assertEqual(len(categories), 5) diff --git a/connector_magento/tests/magento2/test_magento2_import_product_image.py b/connector_magento/tests/magento2/test_magento2_import_product_image.py new file mode 100644 index 000000000..7b0928599 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_import_product_image.py @@ -0,0 +1,19 @@ +# Copyright 2015-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) +from ..test_import_product_image import TestImportProductImage + + +class TestImportProductImageMagento2(TestImportProductImage): + """ Test the imports of the image of the products. """ + + def setUp(self): + super(TestImportProductImageMagento2, self).setUp() + warehouse = self.env.ref('stock.warehouse0') + self.backend = self.backend_model.create( + {'name': 'Test Magento', + 'version': '2.0', + 'location': 'http://magento', + 'warehouse_id': warehouse.id, + 'token': 'odoo42'} + ) diff --git a/connector_magento/tests/magento2/test_magento2_related_action.py b/connector_magento/tests/magento2/test_magento2_related_action.py new file mode 100644 index 000000000..45a9184a4 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_related_action.py @@ -0,0 +1,75 @@ +# Copyright 2014-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import mock + +from .common import Magento2SyncTestCase +from odoo import exceptions + + +class TestRelatedActionStorage(Magento2SyncTestCase): + """ Test related actions on stored jobs """ + + def setUp(self): + super(TestRelatedActionStorage, self).setUp() + self.MagentoProduct = self.env['magento.product.product'] + self.QueueJob = self.env['queue.job'] + + def test_unwrap_binding(self): + """ Open a related action opening an unwrapped binding """ + product = self.env.ref('product.product_product_7') + magento_product = self.MagentoProduct.create( + {'odoo_id': product.id, + 'magento_internal_id': '1234356', + 'backend_id': self.backend.id}) + job = magento_product.with_delay().export_record() + stored = job.db_record() + + expected = { + 'name': mock.ANY, + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_id': product.id, + 'res_model': 'product.product', + } + self.assertEqual(stored.open_related_action(), expected) + + def test_link(self): + """ Open a related action opening an url on Magento. + It only succeeds if we already have the magento internal id. """ + self.backend.write({'admin_location': 'http://www.example.com/admin'}) + product = self.env.ref('product.product_product_7') + job = self.MagentoProduct.with_delay().import_record( + self.backend, product.default_code, + ) + stored = job.db_record() + with self.assertRaisesRegex( + exceptions.UserError, 'import the product before'): + stored.open_related_action() + + self.MagentoProduct.create( + {'odoo_id': product.id, + 'external_id': product.default_code, + 'magento_internal_id': '1234356', + 'backend_id': self.backend.id}) + + url = 'http://www.example.com/admin/catalog/product/edit/id/1234356' + expected = { + 'type': 'ir.actions.act_url', + 'target': 'new', + 'url': url, + } + self.assertEqual(stored.open_related_action(), expected) + + def test_link_no_location(self): + """ Related action opening an url, admin location is not configured """ + self.backend.write({'admin_location': False}) + job = self.MagentoProduct.with_delay().import_record( + self.backend, '123456' + ) + stored = job.db_record() + msg = r'No admin URL configured.*' + with self.assertRaisesRegex(exceptions.UserError, msg): + stored.open_related_action() diff --git a/connector_magento/tests/magento2/test_magento2_sale_order.py b/connector_magento/tests/magento2/test_magento2_sale_order.py new file mode 100644 index 000000000..f9e0350a3 --- /dev/null +++ b/connector_magento/tests/magento2/test_magento2_sale_order.py @@ -0,0 +1,307 @@ +# Copyright 2014-2019 Camptocamp SA +# Copyright 2020 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from collections import namedtuple +from .common import Magento2SyncTestCase, recorder + +ExpectedOrderLine = namedtuple( + 'ExpectedOrderLine', + 'product_id name price_unit product_uom_qty' +) + + +class TestSaleOrder(Magento2SyncTestCase): + + def setUp(self): + super(TestSaleOrder, self).setUp() + + def _import_sale_order(self, increment_id, cassette=True): + return self._import_record('magento.sale.order', + increment_id, cassette=cassette) + + def test_import_sale_order(self): + """ Import sale order: check """ + binding = self._import_sale_order('9') + self.assertEqual(binding.workflow_process_id, self.workflow, + "If the automatic workflow is empty, the " + "onchanges have not been applied.") + + def test_import_sale_order_with_prefix(self): + """ Import sale order with prefix """ + self.backend.write({'sale_prefix': 'EC'}) + binding = self._import_sale_order('9') + self.assertEqual(binding.name, 'EC000000013') + + def test_import_sale_order_with_configurable(self): + """ Import sale order with configurable product """ + binding = self._import_sale_order('9') + + prod1 = self.env['magento.product.product'].search( + [('external_id', '=', 'MH09-XS-Blue'), + ('backend_id', '=', self.backend.id)] + ) + prod2 = self.env['magento.product.product'].search( + [('external_id', '=', 'RACER'), + ('backend_id', '=', self.backend.id)] + ) + ship = binding.carrier_id.product_id + expected = [ + ExpectedOrderLine( + product_id=prod1.odoo_id, + name='Abominable Hoodie-XS-Blue', + price_unit=69., + product_uom_qty=2., + ), + ExpectedOrderLine( + product_id=prod2.odoo_id, + name='Racer Back Maxi Dress', + price_unit=224., + product_uom_qty=1., + ), + ExpectedOrderLine( + product_id=ship, + name='Shipping Costs', + price_unit=5., + product_uom_qty=1., + ), + ] + + self.assert_records(expected, binding.order_line) + + def test_import_sale_order_copy_quotation(self): + """ Copy a sales order with copy_quotation move bindings """ + binding = self._import_sale_order('9') + order = binding.odoo_id + order.action_cancel() + new = order.copy() + self.assertFalse(order.magento_bind_ids) + self.assertEqual(binding.odoo_id, new) + for mag_line in binding.magento_order_line_ids: + self.assertEqual(mag_line.order_id, new) + + def test_import_sale_order_edited(self): + """ Import of an edited sale order links to its parent + (order '9' was cancelled in Magento after recording its cassette) + """ + binding = self._import_sale_order('9') + new_binding = self._import_sale_order('10') + self.assertEqual(new_binding.magento_parent_id, binding) + self.assertTrue(binding.canceled_in_backend) + + def test_import_sale_order_storeview_options(self): + """ Check if storeview options are propagated """ + storeview = self.env['magento.storeview'].search([ + ('backend_id', '=', self.backend.id), + ('external_id', '=', '1') + ]) + team = self.env['crm.team'].create({'name': 'Magento Team'}) + storeview.team_id = team + binding = self._import_sale_order('9') + self.assertEqual(binding.team_id, team) + + def test_import_sale_order_guest(self): + binding = self._import_sale_order('16') + partner_binding = binding.partner_id.magento_bind_ids + self.assertEqual(partner_binding.external_id, 'guestorder:000000019') + self.assertTrue(partner_binding.guest_customer) + self.assertEqual( + binding.partner_id.category_id, + self.env.ref('connector_magento.category_no_account')) + + def test_import_sale_order_carrier_product(self): + """ Product of a carrier is used in the sale line """ + product = self.env['product.product'].create({ + 'name': 'Carrier Product', + }) + self.env['delivery.carrier'].create({ + 'name': 'ups_GND', + 'product_id': product.id, + 'magento_code': 'tablerate_bestway', + 'magento_carrier_code': 'ups_GND', + }) + binding = self._import_sale_order('9') + # check if we have a line with the carrier product, + # which is the shipping line + shipping_line = False + for line in binding.order_line: + if line.product_id == product: + shipping_line = True + self.assertTrue(shipping_line, + msg='No shipping line with the product of the carrier ' + 'has been found. Line names: %s' % + (', '.join("%s (%s)" % (line.name, + line.product_id.name) + for line + in binding.order_line),)) + + def test_import_sale_order_options(self): + """Test import options such as the account_analytic_account and + the fiscal_position that can be specified at different level of the + backend models (backend, website, store and storeview) + """ + binding = self._import_sale_order('9') + self.assertFalse(binding.analytic_account_id) + default_fp = self.env['account.fiscal.position'].get_fiscal_position( + binding.partner_id.id, binding.partner_shipping_id.id) + self.assertEqual(binding.fiscal_position_id.id, default_fp) + # keep a reference to backend models the website + storeview_id = binding.storeview_id + store_id = storeview_id.store_id + website_id = store_id.website_id + binding.odoo_id.unlink() + binding.unlink() + # define options at the backend level + fp1 = self.env['account.fiscal.position'].create({'name': "fp1"}) + account_analytic_id = self.env['account.analytic.account'].create( + {'name': 'aaa1'}) + self.backend.account_analytic_id = account_analytic_id + self.backend.fiscal_position_id = fp1.id + binding = self._import_sale_order('9') + self.assertEqual(binding.analytic_account_id, account_analytic_id) + self.assertEqual(binding.fiscal_position_id, fp1) + binding.odoo_id.unlink() + binding.unlink() + # define options at the website level + account_analytic_id = self.env['account.analytic.account'].create( + {'name': 'aaa2'}) + fp2 = self.env['account.fiscal.position'].create({'name': "fp2"}) + website_id.specific_account_analytic_id = account_analytic_id + website_id.specific_fiscal_position_id = fp2.id + binding = self._import_sale_order('9') + self.assertEqual(binding.analytic_account_id, account_analytic_id) + self.assertEqual(binding.fiscal_position_id, fp2) + binding.odoo_id.unlink() + binding.unlink() + # define options at the store level + account_analytic_id = self.env['account.analytic.account'].create( + {'name': 'aaa3'}) + fp3 = self.env['account.fiscal.position'].create({'name': "fp3"}) + store_id.specific_account_analytic_id = account_analytic_id + store_id.specific_fiscal_position_id = fp3.id + binding = self._import_sale_order('9') + self.assertEqual(binding.analytic_account_id, account_analytic_id) + self.assertEqual(binding.fiscal_position_id, fp3) + binding.odoo_id.unlink() + binding.unlink() + # define options at the storeview level + account_analytic_id = self.env['account.analytic.account'].create( + {'name': 'aaa4'}) + fp4 = self.env['account.fiscal.position'].create({'name': "fp4"}) + storeview_id.specific_account_analytic_id = account_analytic_id + storeview_id.specific_fiscal_position_id = fp4.id + binding = self._import_sale_order('9') + self.assertEqual(binding.analytic_account_id, account_analytic_id) + self.assertEqual(binding.fiscal_position_id, fp4) + + def test_sale_order_cancel_delay_job(self): + """ Cancel an order, delay a cancel job """ + binding = self._import_sale_order('12') + with self.mock_with_delay() as (delayable_cls, delayable): + order = binding.odoo_id + + order.action_cancel() + self.assertEqual(1, delayable_cls.call_count) + delay_args, __ = delayable_cls.call_args + self.assertEqual(binding, delay_args[0]) + + delayable.export_state_change.assert_called_with( + allowed_states=['cancel'], + ) + + def test_cancel_export(self): + """ Export the cancel state """ + binding = self._import_sale_order('12') + with self.mock_with_delay(): + order = binding.odoo_id + order.action_cancel() + + with recorder.use_cassette( + 'test_sale_order_cancel_export') as cassette: + + # call the job synchronously, so we check the calls + binding.export_state_change(allowed_states=['cancel']) + # 1. fetch sales_order + # 2. update sale order state + # 3. post comment on sale order + self.assertEqual(3, len(cassette.requests)) + + self.assertEqual( + cassette.requests[0].uri, + 'http://magento/index.php/rest/V1/orders/12') + self.assertEqual( + cassette.requests[1].uri, + 'http://magento/index.php/rest/V1/orders') + self.assertEqual( + cassette.requests[2].uri, + 'http://magento/index.php/rest/V1/orders/12/comments') + + def test_copy_quotation_delay_export_state(self): + """ Delay a state export on new copy from canceled order """ + binding = self._import_sale_order('12') + + order = binding.odoo_id + + # cancel the order + with self.mock_with_delay(): + order = binding.odoo_id + order.action_cancel() + + with self.mock_with_delay() as (delayable_cls, delayable): + # create a copy of quotation, the new order should be linked to + # the Magento sales order + new = order.copy() + order = binding.odoo_id + self.assertEqual(order, new) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, __ = delayable_cls.call_args + self.assertEqual(binding, delay_args[0]) + + self.assertTrue(delayable.export_state_change.called) + + def test_copy_quotation_export_state(self): + """ Export a new state on new copy from canceled order """ + binding = self._import_sale_order('12') + + # cancel the order + with recorder.use_cassette( + 'test_sale_order_reopen_export') as cassette: + + with self.mock_with_delay(): + order = binding.odoo_id + order.action_cancel() + + # call the job synchronously, so we check the calls + binding.export_state_change() + + order = order.copy() + + # call the job synchronously, so we check the calls + binding.export_state_change() + + # 1. fetch sales_order + # 2. update sale order state to 'cancel' + # 3. post comment on sale order with new state + # 4. fetch sales_order + # 5. update sale order state to 'pending' + # 6. post comment on sale order with new state + self.assertEqual(6, len(cassette.requests)) + self.assertEqual( + cassette.requests[0].uri, + 'http://magento/index.php/rest/V1/orders/12') + self.assertEqual( + cassette.requests[1].uri, + 'http://magento/index.php/rest/V1/orders') + self.assertEqual( + cassette.requests[2].uri, + 'http://magento/index.php/rest/V1/orders/12/comments') + self.assertEqual( + cassette.requests[3].uri, + 'http://magento/index.php/rest/V1/orders/12') + self.assertEqual( + cassette.requests[4].uri, + 'http://magento/index.php/rest/V1/orders') + self.assertEqual( + cassette.requests[5].uri, + 'http://magento/index.php/rest/V1/orders/12/comments') diff --git a/connector_magento/tests/test_concurrent_sync.py b/connector_magento/tests/test_concurrent_sync.py new file mode 100644 index 000000000..e0ab074c1 --- /dev/null +++ b/connector_magento/tests/test_concurrent_sync.py @@ -0,0 +1,57 @@ +# Copyright 2015-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import mock + +from odoo import api +from odoo.tests import common +from odoo.modules.registry import Registry + +from odoo.addons.queue_job.exception import RetryableJobError +from odoo.addons.component.core import WorkContext + +from .common import MagentoTestCase + + +class TestConcurrentSync(MagentoTestCase): + + def setUp(self): + super(TestConcurrentSync, self).setUp() + self.registry2 = Registry.registries.get(common.get_db_name()) + self.cr2 = self.registry2.cursor() + self.env2 = api.Environment(self.cr2, self.env.uid, {}) + + @self.addCleanup + def reset_cr2(): + # rollback and close the cursor, and reset the environments + self.env2.reset() + self.cr2.rollback() + self.cr2.close() + + backend2 = mock.MagicMock(name='Backend Record') + backend2._name = 'magento.backend' + backend2.id = self.backend.id + backend2.env = self.env2 + self.backend2 = backend2 + + def test_concurrent_import(self): + api_client = mock.MagicMock(name='Magento API') + api_client.call.return_value = { + 'name': 'Root', + 'description': '', + 'level': '1', + } + work = WorkContext(model_name='magento.product.category', + collection=self.backend, + magento_api=api_client) + importer = work.component_by_name('magento.product.category.importer') + importer.run(1) + + work2 = WorkContext(model_name='magento.product.category', + collection=self.backend2, + magento_api=api_client) + importer2 = work2.component_by_name( + 'magento.product.category.importer' + ) + with self.assertRaises(RetryableJobError): + importer2.run(1) diff --git a/connector_magento/tests/test_export_invoice.py b/connector_magento/tests/test_export_invoice.py new file mode 100644 index 000000000..29d193b13 --- /dev/null +++ b/connector_magento/tests/test_export_invoice.py @@ -0,0 +1,170 @@ +# Copyright 2013-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import MagentoSyncTestCase, recorder + + +class TestExportInvoice(MagentoSyncTestCase): + """ Test the export of an invoice to Magento """ + + def setUp(self): + super(TestExportInvoice, self).setUp() + self.sale_binding_model = self.env['magento.sale.order'] + self.payment_mode = self.env['account.payment.mode'].search( + [('name', '=', 'checkmo')], + limit=1, + ) + self.pay_account = self.env['account.account'].search( + [('code', '=', '101501')], + limit=1, + ) + self.order_binding = self._import_record( + 'magento.sale.order', '145000008' + ) + self.order_binding.payment_mode_id = self.payment_mode + self.stores = self.backend.mapped('website_ids.store_ids') + # ignore exceptions on the sale order + self.order_binding.ignore_exception = True + self.order_binding.odoo_id.action_confirm() + invoice_ids = self.order_binding.odoo_id.action_invoice_create() + assert invoice_ids + self.invoice_model = self.env['account.invoice'] + self.invoice = self.invoice_model.browse(invoice_ids) + + def test_export_invoice_on_validate_trigger(self): + """ Trigger export of an invoice: when it is validated """ + # we setup the stores so they export the invoices as soon + # as they are validated (open) + self.stores.write({'create_invoice_on': 'open'}) + # prevent to create the job + with self.mock_with_delay() as (delayable_cls, delayable): + self._invoice_open() + self.assertEqual(self.invoice.state, 'open') + + self.assertEqual(len(self.invoice.magento_bind_ids), 1) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.invoice.magento_bind_ids,), delay_args) + + delayable.export_record.assert_called_with() + + # pay and verify it is NOT called + with self.mock_with_delay() as (delayable_cls, delayable): + self._pay_and_reconcile() + self.assertEqual(self.invoice.state, 'paid') + self.assertEqual(0, delayable_cls.call_count) + + def test_export_invoice_on_paid_trigger(self): + """ Trigger export of an invoice: when it is paid """ + # we setup the stores so they export the invoices as soon + # as they are validated (open) + self.stores.write({'create_invoice_on': 'paid'}) + # prevent to create the job + with self.mock_with_delay() as (delayable_cls, delayable): + self._invoice_open() + self.assertEqual(self.invoice.state, 'open') + + self.assertEqual(0, delayable_cls.call_count) + + # pay and verify it is NOT called + with self.mock_with_delay() as (delayable_cls, delayable): + self._pay_and_reconcile() + + self.assertEqual(self.invoice.state, 'paid') + self.assertEqual(len(self.invoice.magento_bind_ids), 1) + + self.assertEqual(1, delayable_cls.call_count) + + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.invoice.magento_bind_ids,), delay_args) + + delayable.export_record.assert_called_with() + + def test_export_invoice_on_payment_mode_validate_trigger(self): + """ Exporting an invoice: when it is validated with payment mode """ + # we setup the stores so they export the invoices as soon + # as they are validated (open) + self.payment_mode.write({'create_invoice_on': 'open'}) + # ensure we use the option of the payment method, not store + self.stores.write({'create_invoice_on': 'paid'}) + with self.mock_with_delay() as (delayable_cls, delayable): + self._invoice_open() + self.assertEqual(self.invoice.state, 'open') + + self.assertEqual(len(self.invoice.magento_bind_ids), 1) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.invoice.magento_bind_ids,), delay_args) + + delayable.export_record.assert_called_with() + + # pay and verify it is NOT called + with self.mock_with_delay() as (delayable_cls, delayable): + self._pay_and_reconcile() + self.assertEqual(self.invoice.state, 'paid') + self.assertEqual(0, delayable_cls.call_count) + + def test_export_invoice_on_payment_mode_paid_trigger(self): + """ Exporting an invoice: when it is paid on payment method """ + # we setup the stores so they export the invoices as soon + # as they are validated (open) + self.payment_mode.write({'create_invoice_on': 'paid'}) + # ensure we use the option of the payment method, not store + self.stores.write({'create_invoice_on': 'open'}) + with self.mock_with_delay() as (delayable_cls, delayable): + self._invoice_open() + self.assertEqual(self.invoice.state, 'open') + self.assertEqual(0, delayable_cls.call_count) + + # pay and verify it is NOT called + with self.mock_with_delay() as (delayable_cls, delayable): + self._pay_and_reconcile() + self.assertEqual(self.invoice.state, 'paid') + + self.assertEqual(len(self.invoice.magento_bind_ids), 1) + + self.assertEqual(1, delayable_cls.call_count) + + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.invoice.magento_bind_ids,), delay_args) + + delayable.export_record.assert_called_with() + + def _invoice_open(self): + self.invoice.action_invoice_open() + + def _pay_and_reconcile(self): + self.invoice.pay_and_reconcile( + self.journal, + pay_amount=self.invoice.amount_total, + writeoff_acc=self.pay_account, + ) + + def test_export_invoice_job(self): + """ Exporting an invoice: call towards the Magento API """ + # we setup the payment method so it exports the invoices as soon + # as they are validated (open) + self.payment_mode.write({'create_invoice_on': 'open'}) + self.stores.write({'send_invoice_paid_mail': True}) + + with self.mock_with_delay(): + self._invoice_open() + + invoice_binding = self.invoice.magento_bind_ids + self.assertEqual(len(invoice_binding), 1) + + with recorder.use_cassette( + 'test_export_invoice') as cassette: + + invoice_binding.export_record() + + # 1. login, 2. sales_order_invoice.create, 3. endSession + self.assertEqual(3, len(cassette.requests)) + + self.assertEqual( + ('sales_order_invoice.create', + ['145000008', {'598': 1.0}, 'Invoice Created', True, False]), + self.parse_cassette_request(cassette.requests[1].body) + ) diff --git a/connector_magento/tests/test_export_picking.py b/connector_magento/tests/test_export_picking.py new file mode 100644 index 000000000..24194335d --- /dev/null +++ b/connector_magento/tests/test_export_picking.py @@ -0,0 +1,238 @@ +# Copyright 2014-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import MagentoSyncTestCase, recorder + + +class TestExportPicking(MagentoSyncTestCase): + """ Test the export of pickings to Magento """ + + def setUp(self): + super(TestExportPicking, self).setUp() + # import a sales order + self.order_binding = self._import_record( + 'magento.sale.order', 100000201 + ) + self.order_binding.ignore_exception = True + # generate sale's picking + self.order_binding.odoo_id.action_confirm() + # Create inventory for add stock qty to lines + # With this commit https://goo.gl/fRTLM3 the moves that where + # force-assigned are not transferred in the picking + for line in self.order_binding.odoo_id.order_line: + if line.product_id.type == 'product': + inventory = self.env['stock.inventory'].create({ + 'name': 'Inventory for line %s' % line.name, + 'filter': 'product', + 'product_id': line.product_id.id, + 'line_ids': [(0, 0, { + 'product_id': line.product_id.id, + 'product_qty': line.product_uom_qty, + 'location_id': + self.env.ref('stock.stock_location_stock').id + })] + }) + inventory.action_validate() + self.picking = self.order_binding.picking_ids + self.assertEqual(len(self.picking), 1) + magento_shop = self.picking.sale_id.magento_bind_ids[0].store_id + magento_shop.send_picking_done_mail = True + + def test_export_complete_picking_trigger(self): + """ Trigger export of a complete picking """ + self.picking.action_assign() + with self.mock_with_delay() as (delayable_cls, delayable): + # Deliver the entire picking, a 'magento.stock.picking' + # should be created, then a job is generated that will export + # the picking. Here the job is not created because we mock + # 'with_delay()' + self.env['stock.immediate.transfer'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + self.assertEqual('complete', picking_binding.picking_method) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((picking_binding,), delay_args) + + delayable.export_picking_done.assert_called_with( + with_tracking=False + ) + + def test_export_complete_picking_job(self): + """ Exporting a complete picking """ + self.picking.action_assign() + with self.mock_with_delay(): + # Deliver the entire picking, a 'magento.stock.picking' + # should be created, then a job is generated that will export + # the picking. Here the job is not created because we mock + # 'with_delay()' + self.env['stock.immediate.transfer'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + + with recorder.use_cassette( + 'test_export_picking_complete') as cassette: + picking_binding.export_picking_done(with_tracking=False) + + # 1. login, 2. sales_order_shipment.create, + # 3. endSession + self.assertEqual(3, len(cassette.requests)) + + self.assertEqual( + ('sales_order_shipment.create', + ['100000201', {}, 'Shipping Created', True, True]), + self.parse_cassette_request(cassette.requests[1].body) + ) + + # Check that we have received and bound the magento ID + self.assertEqual(picking_binding.external_id, '987654321') + + def test_export_partial_picking_trigger(self): + """ Trigger export of a partial picking """ + # Prepare a partial picking + # The sale order contains 2 lines with 1 product each + self.picking.action_assign() + self.picking.move_lines[0].quantity_done = 1 + self.picking.move_lines[1].quantity_done = 0 + # Remove reservation for line index 1 + self.picking.move_lines[1].move_line_ids.unlink() + + with self.mock_with_delay() as (delayable_cls, delayable): + # Deliver the entire picking, a 'magento.stock.picking' + # should be created, then a job is generated that will export + # the picking. Here the job is not created because we mock + # 'with_delay()' + backorder_action = self.picking.button_validate() + self.assertEqual( + backorder_action['res_model'], 'stock.backorder.confirmation', + 'A backorder confirmation wizard action must be created') + # Confirm backorder creation + self.env['stock.backorder.confirmation'].browse( + backorder_action['res_id']).process() + + self.assertEqual(self.picking.state, 'done') + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + self.assertEqual('partial', picking_binding.picking_method) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((picking_binding,), delay_args) + + delayable.export_picking_done.assert_called_with( + with_tracking=False + ) + + def test_export_partial_picking_job(self): + """ Exporting a partial picking """ + # Prepare a partial picking + # The sale order contains 2 lines with 1 product each + self.picking.action_assign() + self.picking.move_lines[0].quantity_done = 1 + self.picking.move_lines[1].quantity_done = 0 + + with self.mock_with_delay(): + # Deliver the entire picking, a 'magento.stock.picking' + # should be created, then a job is generated that will export + # the picking. Here the job is not created because we mock + # 'with_delay()' + self.env['stock.backorder.confirmation'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + + with recorder.use_cassette( + 'test_export_picking_partial') as cassette: + picking_binding.export_picking_done(with_tracking=False) + + # 1. login, 2. sales_order_shipment.create, + # 3. endSession + self.assertEqual(3, len(cassette.requests)) + + self.assertEqual( + ('sales_order_shipment.create', + ['100000201', {'543': 1.0}, 'Shipping Created', True, True]), + self.parse_cassette_request(cassette.requests[1].body) + ) + + # Check that we have received and bound the magento ID + self.assertEqual(picking_binding.external_id, '987654321') + + def test_export_tracking_after_done_trigger(self): + """ Trigger export of a tracking number """ + self.picking.action_assign() + + with self.mock_with_delay(): + self.env['stock.immediate.transfer'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + + with self.mock_with_delay() as (delayable_cls, delayable): + self.picking.carrier_tracking_ref = 'XYZ' + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((picking_binding,), delay_args) + + delayable.export_tracking_number.assert_called_with() + + def test_export_tracking_after_done_job(self): + """ Job export of a tracking number """ + self.picking.action_assign() + + with self.mock_with_delay(): + self.env['stock.immediate.transfer'].create( + {'pick_ids': [(4, self.picking.id)]}).process() + self.assertEqual(self.picking.state, 'done') + self.picking.carrier_tracking_ref = 'XYZ' + + picking_binding = self.env['magento.stock.picking'].search( + [('odoo_id', '=', self.picking.id), + ('backend_id', '=', self.backend.id)], + ) + self.assertEqual(1, len(picking_binding)) + picking_binding.external_id = '100000035' + + with recorder.use_cassette( + 'test_export_tracking_number') as cassette: + picking_binding.export_tracking_number() + + # 1. login, 2. sales_order_shipment.getCarriers, + # 3. sales_order_shipment.addTrack, 4. endSession + self.assertEqual(4, len(cassette.requests)) + + self.assertEqual( + ('sales_order_shipment.getCarriers', ['100000201']), + self.parse_cassette_request(cassette.requests[1].body) + ) + + self.assertEqual( + ('sales_order_shipment.addTrack', ['100000035', 'ups', '', 'XYZ']), + self.parse_cassette_request(cassette.requests[2].body) + ) diff --git a/connector_magento/tests/test_export_product_stock.py b/connector_magento/tests/test_export_product_stock.py new file mode 100644 index 000000000..50af3bfa8 --- /dev/null +++ b/connector_magento/tests/test_export_product_stock.py @@ -0,0 +1,221 @@ +# Copyright 2015-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import MagentoSyncTestCase, recorder + + +class TestUpdateStockQty(MagentoSyncTestCase): + """ Test the export of pickings to Magento """ + + def _product_change_qty(self, product, new_qty, location_id=False): + wizard_model = self.env['stock.change.product.qty'] + data = {'product_id': product.id, + 'new_quantity': new_qty} + if location_id: + data['location_id'] = location_id + wizard = wizard_model.create(data) + wizard.change_product_qty() + + def setUp(self): + super(TestUpdateStockQty, self).setUp() + self.binding_product = self._import_record( + 'magento.product.product', 879 + ) + + def test_compute_new_qty(self): + product = self.binding_product.odoo_id + binding = self.binding_product + # start with 0 + self.assertEqual(product.virtual_available, 0.0) + self.assertEqual(binding.magento_qty, 0.0) + + # change to 30 + self._product_change_qty(product, 30) + + # the virtual available is 30, the magento qty has not been + # updated yet + self.assertEqual(product.virtual_available, 30.0) + self.assertEqual(binding.magento_qty, 0.0) + + # search for the new quantities to push to Magento + # we mock the job so we can check it .delay() is called on it + # when the quantity is changed + with self.mock_with_delay() as (delayable_cls, delayable): + binding.recompute_magento_qty() + self.assertEqual(binding.magento_qty, 30.0) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((binding,), delay_args) + self.assertEqual(20, delay_kwargs.get('priority')) + + delayable.export_inventory.assert_called_with( + fields=['magento_qty'], + ) + + def test_compute_new_qty_different_field(self): + stock_field = self.env.ref( + 'stock.field_product_product__qty_available') + self.backend.product_stock_field_id = stock_field + product = self.binding_product.odoo_id + binding = self.binding_product + # start with 0 + self.assertEqual(product.qty_available, 0.0) + self.assertEqual(product.virtual_available, 0.0) + self.assertEqual(binding.magento_qty, 0.0) + + # change to 30 + self._product_change_qty(product, 30) + + # the virtual available is 30, the magento qty has not been + # updated yet + self.assertEqual(product.qty_available, 30.0) + self.assertEqual(product.virtual_available, 30.0) + self.assertEqual(binding.magento_qty, 0.0) + + # create an outgoing move + customer_location = self.env.ref('stock.stock_location_customers') + outgoing = self.env['stock.move'].create({ + 'name': product.name, + 'product_id': product.id, + 'product_uom_qty': 11, + 'product_uom': product.uom_id.id, + 'location_id': self.env.ref('stock.stock_location_stock').id, + 'location_dest_id': customer_location.id, + }) + outgoing._action_confirm() + outgoing._action_assign() + + # the virtual is now 19, available still 30 + self.assertEqual(product.qty_available, 30.0) + self.assertEqual(product.virtual_available, 19.0) + self.assertEqual(binding.magento_qty, 0.0) + + # search for the new quantities to push to Magento + # we mock the job so we can check it .delay() is called on it + # when the quantity is changed + with self.mock_with_delay() as (delayable_cls, delayable): + binding.recompute_magento_qty() + # since we have chose to use the field qty_available on the + # backend, we should have 30 + self.assertEqual(binding.magento_qty, 30.0) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((binding,), delay_args) + self.assertEqual(20, delay_kwargs.get('priority')) + + delayable.export_inventory.assert_called_with( + fields=['magento_qty'], + ) + + def test_export_qty_api(self): + product = self.binding_product.odoo_id + binding = self.binding_product + + self._product_change_qty(product, 30) + with self.mock_with_delay(): # disable job + binding.recompute_magento_qty() + + with recorder.use_cassette( + 'test_product_export_qty') as cassette: + # call the job directly + binding.export_inventory(fields=['magento_qty']) + + # 1. login, 2. oerp_cataloginventory_stock_item.update, + # 3. endSession + self.assertEqual(3, len(cassette.requests)) + + self.assertEqual( + ('oerp_cataloginventory_stock_item.update', + [879, {'qty': 30., 'is_in_stock': 1}]), + self.parse_cassette_request(cassette.requests[1].body) + ) + + def test_export_product_inventory_write(self): + with self.mock_with_delay() as (delayable_cls, delayable): + self.binding_product.write({ + 'magento_qty': 333, + 'backorders': 'yes-and-notification', + 'manage_stock': 'yes', + }) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((self.binding_product,), delay_args) + self.assertEqual(20, delay_kwargs.get('priority')) + + cargs, ckwargs = delayable.export_inventory.call_args + self.assertFalse(cargs) + self.assertEqual(set(ckwargs.keys()), set(['fields'])) + self.assertEqual( + set(ckwargs['fields']), set([ + 'manage_stock', 'backorders', 'magento_qty'])) + + def test_export_product_inventory_write_job(self): + with self.mock_with_delay(): + self.binding_product.write({ + 'magento_qty': 333, + 'backorders': 'yes-and-notification', + 'manage_stock': 'yes', + }) + + with recorder.use_cassette( + 'test_product_export_qty_config') as cassette: + self.binding_product.export_inventory( + fields=['backorders', 'magento_qty', 'manage_stock'] + ) + + # 1. login, 2. oerp_cataloginventory_stock_item.update, + # 3. endSession + self.assertEqual(3, len(cassette.requests)) + + # Here we check what call with which args has been done by the + # BackendAdapter towards Magento to export the new stock + # values + self.assertEqual( + ('oerp_cataloginventory_stock_item.update', + [879, {'qty': 333., + 'is_in_stock': 1, + 'manage_stock': 1, + 'use_config_manage_stock': 0, + 'backorders': 2, + 'use_config_backorders': 0, + }]), + self.parse_cassette_request(cassette.requests[1].body) + ) + + def test_compute_new_qty_with_location(self): + product = self.binding_product.odoo_id + binding = self.binding_product + # start with 0 + self.assertEqual(product.virtual_available, 0.0) + self.assertEqual(binding.magento_qty, 0.0) + + my_location_id = self.env.ref("stock.stock_location_components").id + binding = binding.with_context(location=my_location_id) + + # change to 30 + self._product_change_qty(product, 30) + self._product_change_qty(product, 5, my_location_id) + + # the virtual available is 30, the magento qty has not been + # updated yet + self.assertEqual(product.virtual_available, 35.0) + self.assertEqual(binding.magento_qty, 0.0) + + # search for the new quantities to push to Magento + # we mock the job so we can check it .delay() is called on it + # when the quantity is changed + with self.mock_with_delay() as (delayable_cls, delayable): + binding.recompute_magento_qty() + self.assertEqual(binding.magento_qty, 5.0) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, delay_kwargs = delayable_cls.call_args + self.assertEqual((binding,), delay_args) + self.assertEqual(20, delay_kwargs.get('priority')) + + delayable.export_inventory.assert_called_with( + fields=['magento_qty'], + ) diff --git a/connector_magento/tests/test_import_metadata.py b/connector_magento/tests/test_import_metadata.py new file mode 100644 index 000000000..8b4f0340d --- /dev/null +++ b/connector_magento/tests/test_import_metadata.py @@ -0,0 +1,27 @@ +# Copyright 2013-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import MagentoTestCase, recorder + + +class TestImportMetadata(MagentoTestCase): + + def test_import_backend(self): + """ Synchronize initial metadata """ + with recorder.use_cassette('metadata'): + self.backend.synchronize_metadata() + + website_model = self.env['magento.website'] + websites = website_model.search( + [('backend_id', '=', self.backend.id)] + ) + self.assertEqual(len(websites), 2) + + store_model = self.env['magento.store'] + stores = store_model.search([('backend_id', '=', self.backend.id)]) + self.assertEqual(len(stores), 2) + + storeview_model = self.env['magento.storeview'] + storeviews = storeview_model.search( + [('backend_id', '=', self.backend.id)]) + self.assertEqual(len(storeviews), 4) diff --git a/connector_magento/tests/test_import_partner.py b/connector_magento/tests/test_import_partner.py new file mode 100644 index 000000000..9d3590252 --- /dev/null +++ b/connector_magento/tests/test_import_partner.py @@ -0,0 +1,175 @@ +# Copyright 2015-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import MagentoSyncTestCase, recorder + + +class TestImportPartner(MagentoSyncTestCase): + + def setUp(self): + super(TestImportPartner, self).setUp() + category_model = self.env['res.partner.category'] + existing_category = category_model.create({'name': 'General'}) + self.create_binding_no_export( + 'magento.res.partner.category', + existing_category, + 1 + ) + self.model = self.env['magento.res.partner'] + self.address_model = self.env['magento.address'] + + @recorder.use_cassette + def test_import_partner_no_address(self): + """ Import an partner account without any address """ + self.env['magento.res.partner'].import_record(self.backend, '139') + + partner = self.model.search([('external_id', '=', '139'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + self.assertEqual(partner.name, 'Benjamin Le Goff') + self.assertEqual(partner.type, 'contact') + self.assertEqual(len(partner.child_ids), 0) + + @recorder.use_cassette + def test_import_partner_individual_1_address(self): + """ Import an individual (b2c) with 1 billing address + + A magento customer is considered an individual if its billing + address has an empty 'company' field + """ + self.env['magento.res.partner'].import_record(self.backend, '136') + partner = self.model.search([('external_id', '=', '136'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Name of the billing address + self.assertEqual(partner.name, 'Jane Doe') + self.assertEqual(partner.type, 'contact') + # billing address merged with the partner + self.assertEqual(len(partner.child_ids), 0) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 1) + address_bind = partner.magento_address_bind_ids[0] + self.assertEqual(address_bind.external_id, '92', + msg="The merged address should be the " + "billing address") + self.assertEqual(partner.company_id.id, + self.backend.warehouse_id.company_id.id) + + @recorder.use_cassette + def test_import_partner_individual_2_addresses(self): + """ Import an individual (b2c) with 2 addresses + + A magento customer is considered an individual if its billing + address has an empty 'company' field + """ + self.env['magento.res.partner'].import_record(self.backend, '65') + + partner = self.model.search([('external_id', '=', '65'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Name of the billing address + self.assertEqual(partner.name, 'Tay Ray') + self.assertEqual(partner.type, 'contact') + # billing address merged with the partner, + # second address as a contact + self.assertEqual(len(partner.child_ids), 1) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 1) + address_bind = partner.magento_address_bind_ids[0] + self.assertEqual(address_bind.external_id, '35', + msg="The merged address should be the " + "billing address") + self.assertEqual(partner.child_ids[0].type, 'delivery', + msg="The shipping address should be of " + "type 'delivery'") + self.assertEqual(partner.company_id.id, + self.backend.company_id.id) + self.assertEqual(partner.child_ids[0].company_id.id, + self.backend.company_id.id) + + @recorder.use_cassette + def test_import_partner_company_1_address(self): + """ Import an company (b2b) with 1 address + + A magento customer is considered a company if its billing + address contains something in the 'company' field + """ + self.env['magento.res.partner'].import_record(self.backend, '104') + + partner = self.model.search([('external_id', '=', '104'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Company of the billing address + self.assertEqual(partner.name, 'Drew France') + self.assertEqual(partner.type, 'contact') + # all addresses as contacts + self.assertEqual(len(partner.child_ids), 1) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 0) + self.assertEqual(partner.child_ids[0].type, 'invoice', + msg="The billing address should be of " + "type 'invoice'") + + @recorder.use_cassette + def test_import_partner_company_2_addresses(self): + """ Import an company (b2b) with 2 addresses + + A magento customer is considered a company if its billing + address contains something in the 'company' field + """ + self.env['magento.res.partner'].import_record(self.backend, '99') + + partner = self.model.search([('external_id', '=', '99'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Company of the billing address + self.assertEqual(partner.name, 'Clay Lock') + self.assertEqual(partner.type, 'contact') + # all addresses as contacts + self.assertEqual(len(partner.child_ids), 2) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 0) + + def get_address(external_id): + address = self.address_model.search( + [('external_id', '=', external_id), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(address), 1) + return address + # billing address + address = get_address('68') + self.assertEqual(address.type, 'invoice', + msg="The billing address should be of " + "type 'invoice'") + # shipping address + address = get_address('98') + self.assertEqual(address.type, 'delivery', + msg="The shipping address should be of " + "type 'delivery'") + + @recorder.use_cassette('test_import_partner_individual_2_addresses') + def test_import_partner_individual_2_addresses_multi_company(self): + """Import an invidual on multi backend company""" + self.backend.is_multi_company = True + self.env['magento.res.partner'].import_record(self.backend, '65') + + partner = self.model.search([('external_id', '=', '65'), + ('backend_id', '=', self.backend.id)]) + self.assertEqual(len(partner), 1) + # Name of the billing address + self.assertEqual(partner.name, 'Tay Ray') + self.assertEqual(partner.type, 'contact') + # billing address merged with the partner, + # second address as a contact + self.assertEqual(len(partner.child_ids), 1) + self.assertEqual(len(partner.magento_bind_ids), 1) + self.assertEqual(len(partner.magento_address_bind_ids), 1) + address_bind = partner.magento_address_bind_ids[0] + self.assertEqual(address_bind.external_id, '35', + msg="The merged address should be the " + "billing address") + self.assertEqual(partner.child_ids[0].type, 'delivery', + msg="The shipping address should be of " + "type 'delivery'") + self.assertFalse(partner.company_id.id) + self.assertFalse(partner.child_ids[0].company_id.id) diff --git a/connector_magento/tests/test_import_partner_category.py b/connector_magento/tests/test_import_partner_category.py new file mode 100644 index 000000000..7876fbc08 --- /dev/null +++ b/connector_magento/tests/test_import_partner_category.py @@ -0,0 +1,42 @@ +# Copyright 2015-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import MagentoSyncTestCase, recorder + + +class TestImportPartnerCategory(MagentoSyncTestCase): + + @recorder.use_cassette + def test_import_partner_category(self): + """ Import of a partner category """ + self.env['magento.res.partner.category'].import_record( + self.backend, 2 + ) + + backend_id = self.backend.id + binding_model = self.env['magento.res.partner.category'] + category = binding_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '2')]) + self.assertEqual(len(category), 1) + self.assertEqual(category.name, 'Wholesale') + self.assertEqual(category.tax_class_id, 5) + + @recorder.use_cassette + def test_import_existing_partner_category(self): + """ Bind of an existing category with same name""" + binding_model = self.env['magento.res.partner.category'] + category_model = self.env['res.partner.category'] + + existing_category = category_model.create({'name': 'Wholesale'}) + + self.env['magento.res.partner.category'].import_record( + self.backend, 2 + ) + + backend_id = self.backend.id + category = binding_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '2')]) + self.assertEqual(len(category), 1) + self.assertEqual(category.odoo_id, existing_category) + self.assertEqual(category.name, 'Wholesale') + self.assertEqual(category.tax_class_id, 5) diff --git a/connector_magento/tests/test_import_product.py b/connector_magento/tests/test_import_product.py new file mode 100644 index 000000000..c8353b551 --- /dev/null +++ b/connector_magento/tests/test_import_product.py @@ -0,0 +1,108 @@ +# Copyright 2013-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from openerp.addons.connector.exception import InvalidDataError +from .common import MagentoSyncTestCase, recorder, mock_urlopen_image + + +class TestImportProduct(MagentoSyncTestCase): + + def setUp(self): + super(TestImportProduct, self).setUp() + + def _create_category(self, name, external_id): + category_model = self.env['product.category'] + category = category_model.create({'name': name}) + self.create_binding_no_export( + 'magento.product.category', category, external_id + ) + + @recorder.use_cassette + def test_import_product(self): + """ Import of a simple product """ + backend_id = self.backend.id + + # create the magento category of this product + self._create_category('Eyewear', 18) + + with mock_urlopen_image(): + # the category of this product has category magento id 18, + # so we already have it + self.env['magento.product.product'].import_record( + self.backend, '337' + ) + + product_model = self.env['magento.product.product'] + product = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '337')]) + self.assertEqual(len(product), 1) + + @recorder.use_cassette + def test_import_product_category_missing(self): + """ Import of a simple product when the category is missing """ + backend_id = self.backend.id + self.assertEqual(len(self.env['magento.product.category'].search( + [('backend_id', '=', backend_id)] + )), 0) + + with mock_urlopen_image(): + self.env['magento.product.product'].import_record( + self.backend, '382' + ) + + product_model = self.env['magento.product.product'] + product = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '382')]) + self.assertEqual(len(product), 1) + # category should have been imported in cascade + self.assertEqual(len(self.env['magento.product.category'].search( + [('backend_id', '=', backend_id)] + )), 4) + + @recorder.use_cassette + def test_import_product_configurable(self): + """ Import of a configurable product : no need to import it + + The 'configurable' part of the product does not need to be imported, + we import only the variants + """ + backend_id = self.backend.id + + self.env['magento.product.product'].import_record( + self.backend, '408' + ) + + product_model = self.env['magento.product.product'] + products = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '408')]) + self.assertEqual(len(products), 0) + + @recorder.use_cassette + def test_import_product_bundle(self): + """ Bundle should fail: not yet supported """ + with self.assertRaises(InvalidDataError): + self.env['magento.product.product'].import_record( + self.backend, '447' + ) + + @recorder.use_cassette + def test_import_product_grouped(self): + """ Grouped should fail: not yet supported """ + with self.assertRaises(InvalidDataError): + self.env['magento.product.product'].import_record( + self.backend, '555' + ) + + @recorder.use_cassette + def test_import_product_virtual(self): + """ Virtual products are created as service products """ + backend_id = self.backend.id + + self.env['magento.product.product'].import_record( + self.backend, '563' + ) + + product_model = self.env['magento.product.product'] + product = product_model.search([('backend_id', '=', backend_id), + ('external_id', '=', '563')]) + self.assertEqual(product.type, 'service') diff --git a/connector_magento/tests/test_import_product_category.py b/connector_magento/tests/test_import_product_category.py new file mode 100644 index 000000000..e1d79ad5b --- /dev/null +++ b/connector_magento/tests/test_import_product_category.py @@ -0,0 +1,30 @@ +# Copyright 2013-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from .common import MagentoSyncTestCase, recorder + + +class TestImportProductCategory(MagentoSyncTestCase): + + @recorder.use_cassette + def test_import_product_category(self): + """ Import of a product category """ + backend_id = self.backend.id + + self.env['magento.product.category'].import_record(self.backend, '1') + + category_model = self.env['magento.product.category'] + category = category_model.search([('backend_id', '=', backend_id)]) + self.assertEqual(len(category), 1) + + @recorder.use_cassette + def test_import_product_category_with_gap(self): + """ Import of a product category when parent categories are missing """ + backend_id = self.backend.id + + self.env['magento.product.category'].import_record(self.backend, '26') + + category_model = self.env['magento.product.category'] + categories = category_model.search([('backend_id', '=', backend_id)]) + # tree: Women > Sale > Default Category > Test Magento (hidden) + self.assertEqual(len(categories), 4) diff --git a/connector_magento/tests/test_import_product_image.py b/connector_magento/tests/test_import_product_image.py new file mode 100644 index 000000000..2611cc8b3 --- /dev/null +++ b/connector_magento/tests/test_import_product_image.py @@ -0,0 +1,172 @@ +# Copyright 2015-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import urllib.error +import mock +from base64 import b64encode + +from odoo import models +from odoo.addons.component.core import WorkContext, Component +from odoo.addons.component.tests.common import ( + TransactionComponentRegistryCase, +) +from .. import components +from ..models.product.importer import CatalogImageImporter +from .common import MockResponseImage + +# simple square of 4 px filled with green in png, used for the product +# images +PNG_IMG_4PX_GREEN = ("\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x04" + "\x00\x00\x00\x04\x08\x02\x00\x00\x00&\x93\t)\x00\x00" + "\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\tpHYs" + "\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18" + "\x00\x00\x00\x07tIME\x07\xdd\t\x02\t\x1d0\x13\th\x94" + "\x00\x00\x00\x19tEXtComment\x00Created with GIMPW\x81" + "\x0e\x17\x00\x00\x00\x12IDAT\x08\xd7cd\xf8\xcf\x00\x07L" + "\x0c\x0c\xc4p\x002\xd2\x01\x07\xce\xee\xd0\xcf\x00\x00" + "\x00\x00IEND\xaeB`\x82".encode('utf-8')) +B64_PNG_IMG_4PX_GREEN = b64encode(PNG_IMG_4PX_GREEN) + + +class TestImportProductImage(TransactionComponentRegistryCase): + """ Test the imports of the image of the products. """ + + def setUp(self): + super(TestImportProductImage, self).setUp() + self.backend_model = self.env['magento.backend'] + warehouse = self.env.ref('stock.warehouse0') + self.backend = self.backend_model.create( + {'name': 'Test Magento', + 'version': '1.7', + 'location': 'http://magento', + 'username': 'odoo', + 'warehouse_id': warehouse.id, + 'password': 'odoo42'} + ) + + category_model = self.env['product.category'] + existing_category = category_model.create({'name': 'all'}) + self.create_binding_no_export( + 'magento.product.category', + existing_category, + 1 + ) + self.product_model = self.env['magento.product.product'] + + # Use a stub for the product adapter, which is called + # during the tests by the image importer + class StubProductAdapter(Component): + _name = 'stub.product.adapter' + _collection = 'magento.backend' + _usage = 'backend.adapter' + _apply_on = 'magento.product.product' + + def get_images(self, external_id, storeview_id=None, data=None): + return [ + {'exclude': '1', + 'file': '/i/n/ink-eater-krylon-bombear-destroyed-tee-2.jpg', # noqa + 'label': '', + 'position': '0', + 'types': ['thumbnail'], + 'url': 'http://localhost:9100/media/catalog/product/i/n/ink-eater-krylon-bombear-destroyed-tee-2.jpg'}, # noqa + {'exclude': '0', + 'file': '/i/n/ink-eater-krylon-bombear-destroyed-tee-1.jpg', # noqa + 'label': '', + 'position': '3', + 'types': ['small_image'], + 'url': 'http://localhost:9100/media/catalog/product/i/n/ink-eater-krylon-bombear-destroyed-tee-1.jpg'}, # noqa + {'exclude': '0', + 'file': '/m/a/connector_magento_1.png', + 'label': '', + 'position': '4', + 'types': [], + 'url': 'http://localhost:9100/media/catalog/product/m/a/connector_magento_1.png'}, # noqa + ] + + # build the Stub and the component we want to test + self._build_components(StubProductAdapter, + components.core.BaseMagentoConnectorComponent, + components.importer.MagentoImporter, + CatalogImageImporter) + self.work = WorkContext(model_name='magento.product.product', + collection=self.backend, + components_registry=self.comp_registry) + self.image_importer = self.work.component_by_name( + 'magento.product.image.importer' + ) + + def create_binding_no_export(self, model_name, odoo_id, external_id=None, + **cols): + if isinstance(odoo_id, models.BaseModel): + odoo_id = odoo_id.id + values = { + 'backend_id': self.backend.id, + 'odoo_id': odoo_id, + 'external_id': external_id, + } + if cols: + values.update(cols) + return self.env[model_name].with_context( + connector_no_export=True + ).create(values) + + def test_image_priority(self): + """ Check if the images are sorted in the correct priority """ + file1 = {'file': 'file1', 'types': ['image'], 'position': '10'} + file2 = {'file': 'file2', 'types': ['thumbnail'], 'position': '3'} + file3 = {'file': 'file3', 'types': ['thumbnail'], 'position': '4'} + file4 = {'file': 'file4', 'types': [], 'position': '10'} + images = [file2, file1, file4, file3] + self.assertEqual(self.image_importer._sort_images(images), + [file4, file3, file2, file1]) + + def test_import_images_404(self): + """ An image responds a 404 error, skip and take the first valid """ + url_tee1 = ('http://localhost:9100/media/catalog/product' + '/i/n/ink-eater-krylon-bombear-destroyed-tee-1.jpg') + url_tee2 = ('http://localhost:9100/media/catalog/product/' + 'i/n/ink-eater-krylon-bombear-destroyed-tee-2.jpg') + + binding = mock.Mock(name='magento.product.product,999') + binding.id = 999 + binding_no_export = mock.MagicMock( + name='magento.product.product,999:no_export' + ) + binding.with_context.return_value = binding_no_export + + with mock.patch('requests.get') as requests_get: + def image_url_response(url, headers=None, verify=None): + if url in (url_tee1, url_tee2): + return MockResponseImage('', code=404) + else: + return MockResponseImage(PNG_IMG_4PX_GREEN) + requests_get.side_effect = image_url_response + + self.image_importer.run(111, binding) + + binding.with_context.assert_called_with(connector_no_export=True) + binding_no_export.write.assert_called_with( + {'image': B64_PNG_IMG_4PX_GREEN} + ) + + def test_import_images_403(self): + """ Import a product when an image respond a 403 error, should fail """ + + binding = mock.Mock(name='magento.product.product,999') + binding.id = 999 + + url_tee1 = ('http://localhost:9100/media/catalog/product' + '/i/n/ink-eater-krylon-bombear-destroyed-tee-1.jpg') + url_tee2 = ('http://localhost:9100/media/catalog/product/' + 'i/n/ink-eater-krylon-bombear-destroyed-tee-2.jpg') + with mock.patch('requests.get') as requests_get: + def image_url_response(url, headers=None, verify=None): + if url == url_tee2: + raise urllib.error.HTTPError(url, 404, '404', None, None) + elif url == url_tee1: + raise urllib.error.HTTPError(url, 403, '403', None, None) + return MockResponseImage(PNG_IMG_4PX_GREEN) + + requests_get.side_effect = image_url_response + with self.assertRaises(urllib.error.HTTPError): + self.image_importer.run(122, binding) diff --git a/connector_magento/tests/test_related_action.py b/connector_magento/tests/test_related_action.py new file mode 100644 index 000000000..768a8b464 --- /dev/null +++ b/connector_magento/tests/test_related_action.py @@ -0,0 +1,62 @@ +# Copyright 2014-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +import mock + +from .common import MagentoSyncTestCase +from odoo import exceptions + + +class TestRelatedActionStorage(MagentoSyncTestCase): + """ Test related actions on stored jobs """ + + def setUp(self): + super(TestRelatedActionStorage, self).setUp() + self.MagentoProduct = self.env['magento.product.product'] + self.QueueJob = self.env['queue.job'] + + def test_unwrap_binding(self): + """ Open a related action opening an unwrapped binding """ + product = self.env.ref('product.product_product_7') + magento_product = self.MagentoProduct.create( + {'odoo_id': product.id, + 'backend_id': self.backend.id}) + job = magento_product.with_delay().export_record() + stored = job.db_record() + + expected = { + 'name': mock.ANY, + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_id': product.id, + 'res_model': 'product.product', + } + self.assertEqual(stored.open_related_action(), expected) + + def test_link(self): + """ Open a related action opening an url on Magento """ + self.backend.write({'admin_location': 'http://www.example.com/admin'}) + job = self.MagentoProduct.with_delay().import_record( + self.backend, '123456' + ) + stored = job.db_record() + + url = 'http://www.example.com/admin/catalog_product/edit/id/123456' + expected = { + 'type': 'ir.actions.act_url', + 'target': 'new', + 'url': url, + } + self.assertEqual(stored.open_related_action(), expected) + + def test_link_no_location(self): + """ Related action opening an url, admin location is not configured """ + self.backend.write({'admin_location': False}) + job = self.MagentoProduct.with_delay().import_record( + self.backend, '123456' + ) + stored = job.db_record() + msg = r'No admin URL configured.*' + with self.assertRaisesRegex(exceptions.UserError, msg): + stored.open_related_action() diff --git a/connector_magento/tests/test_sale_order.py b/connector_magento/tests/test_sale_order.py new file mode 100644 index 000000000..7c5afd31f --- /dev/null +++ b/connector_magento/tests/test_sale_order.py @@ -0,0 +1,284 @@ +# Copyright 2014-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from collections import namedtuple +from .common import MagentoSyncTestCase, recorder + +ExpectedOrderLine = namedtuple( + 'ExpectedOrderLine', + 'product_id name price_unit product_uom_qty' +) + + +class TestSaleOrder(MagentoSyncTestCase): + + def setUp(self): + super(TestSaleOrder, self).setUp() + + def _import_sale_order(self, increment_id, cassette=True): + return self._import_record('magento.sale.order', + increment_id, cassette=cassette) + + def test_import_sale_order(self): + """ Import sale order: check """ + binding = self._import_sale_order(100000201) + self.assertEqual(binding.workflow_process_id, self.workflow, + "If the automatic workflow is empty, the " + "onchanges have not been applied.") + + def test_import_sale_order_with_prefix(self): + """ Import sale order with prefix """ + self.backend.write({'sale_prefix': 'EC'}) + binding = self._import_sale_order(100000201) + self.assertEqual(binding.name, 'EC100000201') + + def test_import_sale_order_with_configurable(self): + """ Import sale order with configurable product """ + binding = self._import_sale_order(100000201) + + prod1 = self.env['magento.product.product'].search( + [('external_id', '=', 512), ('backend_id', '=', self.backend.id)] + ) + prod2 = self.env['magento.product.product'].search( + [('external_id', '=', 302), ('backend_id', '=', self.backend.id)] + ) + ship = binding.carrier_id.product_id + expected = [ + ExpectedOrderLine( + product_id=prod1.odoo_id, + name='Tori Tank', + price_unit=60., + product_uom_qty=2., + ), + ExpectedOrderLine( + product_id=prod2.odoo_id, + name='Racer Back Maxi Dress', + price_unit=224., + product_uom_qty=1., + ), + ExpectedOrderLine( + product_id=ship, + name='Shipping Costs', + price_unit=12.31, + product_uom_qty=1., + ), + ] + + self.assert_records(expected, binding.order_line) + + def test_import_sale_order_copy_quotation(self): + """ Copy a sales order with copy_quotation move bindings """ + binding = self._import_sale_order(100000201) + order = binding.odoo_id + order.action_cancel() + new = order.copy() + self.assertFalse(order.magento_bind_ids) + self.assertEqual(binding.odoo_id, new) + for mag_line in binding.magento_order_line_ids: + self.assertEqual(mag_line.order_id, new) + + def test_import_sale_order_edited(self): + """ Import of an edited sale order links to its parent """ + with recorder.use_cassette('import_sale_order_edited_1'): + binding = self._import_sale_order(100000200, cassette=False) + with recorder.use_cassette('import_sale_order_edited_2'): + new_binding = self._import_sale_order('100000200-1', + cassette=False) + self.assertEqual(new_binding.magento_parent_id, binding) + self.assertTrue(binding.canceled_in_backend) + + def test_import_sale_order_storeview_options(self): + """ Check if storeview options are propagated """ + storeview = self.env['magento.storeview'].search([ + ('backend_id', '=', self.backend.id), + ('external_id', '=', '1') + ]) + team = self.env['crm.team'].create({'name': 'Magento Team'}) + storeview.team_id = team + binding = self._import_sale_order(100000201) + self.assertEqual(binding.team_id, team) + + def test_import_sale_order_guest(self): + binding = self._import_sale_order(145000008) + partner_binding = binding.partner_id.magento_bind_ids + self.assertEqual(partner_binding.external_id, 'guestorder:145000008') + self.assertTrue(partner_binding.guest_customer) + + def test_import_sale_order_carrier_product(self): + """ Product of a carrier is used in the sale line """ + product = self.env['product.product'].create({ + 'name': 'Carrier Product', + }) + self.env['delivery.carrier'].create({ + 'name': 'ups_GND', + 'product_id': product.id, + 'magento_code': 'ups_GND', + 'magento_carrier_code': 'ups_GND', + }) + binding = self._import_sale_order(100000201) + # check if we have a line with the carrier product, + # which is the shipping line + shipping_line = False + for line in binding.order_line: + if line.product_id == product: + shipping_line = True + self.assertTrue(shipping_line, + msg='No shipping line with the product of the carrier ' + 'has been found. Line names: %s' % + (', '.join("%s (%s)" % (line.name, + line.product_id.name) + for line + in binding.order_line),)) + + def test_import_sale_order_options(self): + """Test import options such as the account_analytic_account and + the fiscal_position that can be specified at different level of the + backend models (backend, website, store and storeview) + """ + binding = self._import_sale_order(100000201) + self.assertFalse(binding.analytic_account_id) + default_fp = self.env['account.fiscal.position'].get_fiscal_position( + binding.partner_id.id, binding.partner_shipping_id.id) + self.assertEqual(binding.fiscal_position_id.id, default_fp) + # keep a reference to backend models the website + storeview_id = binding.storeview_id + store_id = storeview_id.store_id + website_id = store_id.website_id + binding.odoo_id.unlink() + binding.unlink() + # define options at the backend level + fp1 = self.env['account.fiscal.position'].create({'name': "fp1"}) + account_analytic_id = self.env['account.analytic.account'].create( + {'name': 'aaa1'}) + self.backend.account_analytic_id = account_analytic_id + self.backend.fiscal_position_id = fp1.id + binding = self._import_sale_order(100000201) + self.assertEqual(binding.analytic_account_id, account_analytic_id) + self.assertEqual(binding.fiscal_position_id, fp1) + binding.odoo_id.unlink() + binding.unlink() + # define options at the website level + account_analytic_id = self.env['account.analytic.account'].create( + {'name': 'aaa2'}) + fp2 = self.env['account.fiscal.position'].create({'name': "fp2"}) + website_id.specific_account_analytic_id = account_analytic_id + website_id.specific_fiscal_position_id = fp2.id + binding = self._import_sale_order(100000201) + self.assertEqual(binding.analytic_account_id, account_analytic_id) + self.assertEqual(binding.fiscal_position_id, fp2) + binding.odoo_id.unlink() + binding.unlink() + # define options at the store level + account_analytic_id = self.env['account.analytic.account'].create( + {'name': 'aaa3'}) + fp3 = self.env['account.fiscal.position'].create({'name': "fp3"}) + store_id.specific_account_analytic_id = account_analytic_id + store_id.specific_fiscal_position_id = fp3.id + binding = self._import_sale_order(100000201) + self.assertEqual(binding.analytic_account_id, account_analytic_id) + self.assertEqual(binding.fiscal_position_id, fp3) + binding.odoo_id.unlink() + binding.unlink() + # define options at the storeview level + account_analytic_id = self.env['account.analytic.account'].create( + {'name': 'aaa4'}) + fp4 = self.env['account.fiscal.position'].create({'name': "fp4"}) + storeview_id.specific_account_analytic_id = account_analytic_id + storeview_id.specific_fiscal_position_id = fp4.id + binding = self._import_sale_order(100000201) + self.assertEqual(binding.analytic_account_id, account_analytic_id) + self.assertEqual(binding.fiscal_position_id, fp4) + + def test_sale_order_cancel_delay_job(self): + """ Cancel an order, delay a cancel job """ + binding = self._import_sale_order(100000201) + with self.mock_with_delay() as (delayable_cls, delayable): + order = binding.odoo_id + + order.action_cancel() + self.assertEqual(1, delayable_cls.call_count) + delay_args, __ = delayable_cls.call_args + self.assertEqual(binding, delay_args[0]) + + delayable.export_state_change.assert_called_with( + allowed_states=['cancel'], + ) + + def test_cancel_export(self): + """ Export the cancel state """ + binding = self._import_sale_order(100000201) + with self.mock_with_delay(): + order = binding.odoo_id + order.action_cancel() + + with recorder.use_cassette( + 'test_sale_order_cancel_export') as cassette: + + # call the job synchronously, so we check the calls + binding.export_state_change(allowed_states=['cancel']) + # 1. login, 2. sales_order.info, + # 3. sales_order.addComment, 4. endSession + self.assertEqual(4, len(cassette.requests)) + + self.assertEqual( + ('sales_order.info', ['100000201']), + self.parse_cassette_request(cassette.requests[1].body) + ) + self.assertEqual( + ('sales_order.addComment', ['100000201', 'canceled']), + self.parse_cassette_request(cassette.requests[2].body) + ) + + def test_copy_quotation_delay_export_state(self): + """ Delay a state export on new copy from canceled order """ + with recorder.use_cassette('import_sale_order_edited_1'): + binding = self._import_sale_order(100000200, cassette=False) + + order = binding.odoo_id + + # cancel the order + with self.mock_with_delay(): + order = binding.odoo_id + order.action_cancel() + + with self.mock_with_delay() as (delayable_cls, delayable): + # create a copy of quotation, the new order should be linked to + # the Magento sales order + new = order.copy() + order = binding.odoo_id + self.assertEqual(order, new) + + self.assertEqual(1, delayable_cls.call_count) + delay_args, __ = delayable_cls.call_args + self.assertEqual(binding, delay_args[0]) + + self.assertTrue(delayable.export_state_change.called) + + def test_copy_quotation_export_state(self): + """ Export a new state on new copy from canceled order """ + with recorder.use_cassette('import_sale_order_edited_1'): + binding = self._import_sale_order(100000200, cassette=False) + + # cancel the order + with self.mock_with_delay(): + order = binding.odoo_id + order.action_cancel() + order = order.copy() + + with recorder.use_cassette( + 'test_sale_order_reopen_export') as cassette: + + # call the job synchronously, so we check the calls + binding.export_state_change() + # 1. login, 2. sales_order.info, + # 3. sales_order.addComment, 4. endSession + self.assertEqual(4, len(cassette.requests)) + + self.assertEqual( + ('sales_order.info', ['100000200']), + self.parse_cassette_request(cassette.requests[1].body) + ) + self.assertEqual( + ('sales_order.addComment', ['100000200', 'pending']), + self.parse_cassette_request(cassette.requests[2].body) + ) diff --git a/connector_magento/views/account_payment_mode_views.xml b/connector_magento/views/account_payment_mode_views.xml new file mode 100644 index 000000000..104e38845 --- /dev/null +++ b/connector_magento/views/account_payment_mode_views.xml @@ -0,0 +1,19 @@ + + + + + + account.payment.mode + + + + + + + + + + + + + diff --git a/connector_magento/views/connector_magento_menu.xml b/connector_magento/views/connector_magento_menu.xml new file mode 100644 index 000000000..a7d3db2b2 --- /dev/null +++ b/connector_magento/views/connector_magento_menu.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/connector_magento/views/delivery_views.xml b/connector_magento/views/delivery_views.xml new file mode 100644 index 000000000..4d746f23d --- /dev/null +++ b/connector_magento/views/delivery_views.xml @@ -0,0 +1,21 @@ + + + + + magento.delivery.carrier.form + delivery.carrier + + + + + + + + + + + + + + + diff --git a/connector_magento/views/invoice_views.xml b/connector_magento/views/invoice_views.xml new file mode 100644 index 000000000..6854c0c68 --- /dev/null +++ b/connector_magento/views/invoice_views.xml @@ -0,0 +1,46 @@ + + + + + account.invoice.magento.form + account.invoice + + + + 0 + + + + + + + + + + + magento.account.invoice.form + magento.account.invoice + +
                                              + + + + +
                                              +
                                              +
                                              + + + magento.account.invoice.tree + magento.account.invoice + + + + + + + + +
                                              diff --git a/connector_magento/views/magento_backend_views.xml b/connector_magento/views/magento_backend_views.xml new file mode 100644 index 000000000..d7ddf6ab4 --- /dev/null +++ b/connector_magento/views/magento_backend_views.xml @@ -0,0 +1,414 @@ + + + + + magento.backend.form + magento.backend + +
                                              +
                                              +
                                              + +
+ + + + + + + magento.product.product.tree + magento.product.product + + + + + + + + + diff --git a/connector_magento/views/sale_order_views.xml b/connector_magento/views/sale_order_views.xml new file mode 100644 index 000000000..58fe41e45 --- /dev/null +++ b/connector_magento/views/sale_order_views.xml @@ -0,0 +1,52 @@ + + + + + sale.order.magento.form + sale.order + + + + 0 + + + + + + + + + + + magento.sale.order.form + magento.sale.order + +
+ + + + + + + + +
+
+
+ + + magento.sale.order.tree + magento.sale.order + + + + + + + + + + +
diff --git a/connector_magento/views/stock_views.xml b/connector_magento/views/stock_views.xml new file mode 100644 index 000000000..a61a62da5 --- /dev/null +++ b/connector_magento/views/stock_views.xml @@ -0,0 +1,48 @@ + + + + + stock.picking.magento.form + stock.picking + + + + 0 + + + + + + + + + + + magento.stock.picking.form + magento.stock.picking + +
+ + + + + +
+
+
+ + + magento.stock.picking.tree + magento.stock.picking + + + + + + + + + +
diff --git a/connector_magento/wizards/__init__.py b/connector_magento/wizards/__init__.py new file mode 100644 index 000000000..93eb627ff --- /dev/null +++ b/connector_magento/wizards/__init__.py @@ -0,0 +1 @@ +from . import magento_binding_backend_read diff --git a/connector_magento/wizards/magento_binding_backend_read.py b/connector_magento/wizards/magento_binding_backend_read.py new file mode 100644 index 000000000..ab79f04c7 --- /dev/null +++ b/connector_magento/wizards/magento_binding_backend_read.py @@ -0,0 +1,134 @@ +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import base64 +import logging +import io +import contextlib +import json + +from odoo.exceptions import UserError + +from odoo import api, fields, models, tools, _ +from odoo.addons.component import core + +_logger = logging.getLogger(__name__) + + +class MagentoBindingBackendRead(models.TransientModel): + + _name = 'magento.binding.backend.read' + _description = 'Magento Generic Object Reader Wizard' + + @api.model + @tools.ormcache_context('self._uid', 'model_name', keys=('lang',)) + def _get_translated_model_name(self, model_name): + # get the translated model name to build + # a meaningful model description + search_result = self.env['ir.model'].name_search( + model_name, operator='=') + if search_result: + return search_result[0][1] + return self.env[model_name]._description + + @api.model + def _default_magento_backend_id(self): + active_model = self._context.get('active_model') + if active_model and active_model == self._name: + # method called when the result is displayed + return self.env['magento.backend'].browse([]) + if active_model and active_model != 'magento.backend': + raise UserError(_("The wizard must be launched from a magento " + "backend model")) + active_id = self._context.get('active_ids', []) + if len(active_id) > 1: + raise UserError(_("The wizard must be launched on a single " + "magento backend instance")) + active_id = (active_id and active_id[0]) or self._context.get( + 'active_id') + return self.env['magento.backend'].browse(active_id) + + @api.model + def _get_magento_binding_model(self): + """ + This method return a list of magento bindings for which a backend + adapter is registered + :return: + """ + try: + components_registry = core._component_databases[self.env.cr.dbname] + except KeyError: + _logger.info( + 'No component registry for database %s. ' + 'Probably because the Odoo registry has not been built ' + 'yet.') + return [] + component_classes = components_registry.lookup( + collection_name='magento.backend', + usage='backend.adapter', + ) + ret = [] + for component_class in component_classes: + apply_on = component_class._apply_on + if not apply_on: + continue + if isinstance(apply_on, str): + apply_on = [apply_on] + for model_name in apply_on: + ret.append( + (model_name, + self._get_translated_model_name(model_name)) + ) + return ret + + name = fields.Char( + 'File Name', + readonly=True + ) + data = fields.Binary( + 'File', + readonly=True + ) + state = fields.Selection( + [('choose', 'choose'), + ('get', 'get')], + default='choose' + ) + magento_backend_id = fields.Many2one( + 'magento.backend', + required=True, + readonly=True, + default=_default_magento_backend_id, + ) + magento_binding_model = fields.Selection( + '_get_magento_binding_model', + required=True + ) + magento_id = fields.Char( + 'Magento Id', + required=True + ) + + @api.multi + def action_get_info(self): + self.ensure_one() + + with self.magento_backend_id.work_on( + self.magento_binding_model) as work: + adapter = work.component(usage='backend.adapter') + data = adapter.read(self.magento_id) + with contextlib.closing(io.StringIO()) as buf: + json.dump(data, buf) + out = base64.encodestring(buf.getvalue()) + + name = 'sale_order_%s.json' % self.magento_id + self.write({'state': 'get', 'data': out, 'name': name}) + return { + 'type': 'ir.actions.act_window', + 'res_model': 'magento.binding.backend.read', + 'view_mode': 'form', + 'view_type': 'form', + 'res_id': self.id, + 'views': [(False, 'form')], + 'target': 'new', + } diff --git a/connector_magento/wizards/magento_binding_backend_read.xml b/connector_magento/wizards/magento_binding_backend_read.xml new file mode 100644 index 000000000..2c631461e --- /dev/null +++ b/connector_magento/wizards/magento_binding_backend_read.xml @@ -0,0 +1,43 @@ + + + + + + + magento.binding.backend.read.form (in connector_magento) + magento.binding.backend.read + +
+ + + + + + + +
+

Here is the file with information read drom the backend:

+
+
+
+
+
+
+
+
+ + + Read information from backend + ir.actions.act_window + magento.binding.backend.read + + form + form + new + + +