Lengow Connector

connector_lengow
REPOSITORY
REPOSITORYOCA/connector-lengow
GIT
GIThttps://github.com/OCA/connector-lengow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-lengow/tree/10.0/connector_lengow
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYConnector
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ACSONE SA/NV, Cédric Pigeon
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ACSONE SA/NV, Cédric Pigeon
COMMITTERS
COMMITTERSGitHub, Cédric Pigeon, oca-travis, OCA-git-bot, François Honoré
WEBSITE
WEBSITEhttps://odoo-community.org/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_sale
    - account_payment_partner
    - account_payment_mode
OCA/connector:
    - connector
    - component
    - component_event
    - connector_base_product
OCA/connector-ecommerce:
    - connector_ecommerce
OCA/product-attribute:
    - product_sequence
    - product_state
OCA/queue:
    - queue_job
OCA/sale-workflow:
    - sale_automatic_workflow_payment_mode
    - sale_automatic_workflow
    - sale_exception
OCA/server-tools:
    - base_exception
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - sale_stock
    - sale
    - sales_team
    - procurement
    - stock_account
    - stock
    - barcodes
    - delivery
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES ftputil
requests
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (18)
XML IDNameModelTypeStatus
payment_mode_view_form account.payment.mode group Inherits connector_ecommerce.account_payment_mode_form_inherit
product_normal_form_view product.product.form product.product page Inherits connector_base_product.product_normal_form_view
product_search_form_view product.product.search product.product field Inherits product.product_search_form_view
product_template_form_view product.template.common.form product.template page Inherits product.product_template_form_view
product_template_search_view product.template.search product.template field Inherits product.product_template_search_view
view_delivery_carrier_form delivery.carrier.form delivery.carrier xpath Inherits delivery.view_delivery_carrier_form
view_lengow_backend_form view.lengow.backend.form lengow.backend form New
view_lengow_backend_tree lengow.backend.tree lengow.backend tree New
view_lengow_catalogue_form view.lengow.catalogue.form lengow.catalogue form New
view_lengow_catalogue_tree lengow.catalogue.tree lengow.catalogue tree New
view_lengow_discount_wizard_form view.lengow.discount.wizard.form lengow.discount.wizard form New
view_lengow_marketplace_form lengow.market.place.form lengow.market.place form New
view_lengow_marketplace_tree lengow.market.place.tree lengow.market.place tree New
view_lengow_product_binding_wizard_form view.lengow.product.binding.wizard.form lengow.product.binding.wizard form New
view_lengow_product_product_search lengow.product.product.search lengow.product.product search New
view_lengow_product_product_tree lengow.product.product.tree lengow.product.product tree New
view_lengow_product_unbinding_wizard_form view.lengow.product.unbinding.wizard.form lengow.product.unbinding.wizard form New
view_order_form sale.order.form sale.order field Inherits sale.view_order_form
Models touched (20)

New fields (1)
  • marketplace_id Many2one → lengow.market.place
    comodel_name='lengow.market.place' string='Lengow MarketPlace'
Public methods (0)

No public methods.

New fields (2)
  • lengow_code Char
  • lengow_value Char
    compute='_compute_lengow_value' args: 'Value to Export to Lengow'
Public methods (0)

No public methods.

New fields (15)
  • access_token Char
    help='WebService Access Token'
  • account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' help='If specified, this analytic account will be used to fill the field on the sale order created by the connector. The value can also be specified on the marketplace.' string='Analytic account'
  • binded_products_count Float
    compute='_compute_count_binded_products'
  • catalogue_ids One2many → lengow.catalogue
    comodel_name='lengow.catalogue' inverse_name='backend_id' string='Catalogue'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • currency_mapping_ids One2many → lengow.currency.mapping
    comodel_name='lengow.currency.mapping' inverse_name='backend_id' string='Currencies'
  • fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' help='If specified, this fiscal position will be used to fill the field fiscal position on the sale order created by the connector.The value can also be specified on the marketplace.' string='Fiscal position'
  • id_client Char
    args: 'Lengow Id Client'
  • import_orders_from_date Date
    args: 'Import Orders from Date'
  • location Char
    help='Url to Lengow application' required=True
  • secret Char
    help='Webservice password'
  • tax_mapping_ids One2many → lengow.tax.mapping
    comodel_name='lengow.tax.mapping' inverse_name='backend_id' string='Taxes'
  • version Selection
    required=True selection='select_versions'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='If specified, this warehouse will be used to fill the field warehouse on the sale order created by the connector.The value can also be specified on the marketplace.' required=True string='Warehouse'
  • wsdl_location Char
    help='Url to Lengow Wsdl (To update Orders)'
Public methods (3)
  • import_sale_orders(self, filters=None)
    @api.multi
  • select_versions(self)
    @api.model
    Available versions in the backend. Can be inherited to add custom versions. Using this method to add a version from an ``_inherit`` does not constrain to redefine the ``version`` field in the ``_inherit`` model.
  • synchronize_metadata(self)
    @api.multi

New fields (2)
  • backend_id Many2one → lengow.backend
    comodel_name='lengow.backend' ondelete='restrict' required=True string='Lengow Backend'
  • lengow_id Char
    string='ID on Lengow'
Public methods (2)
  • import_batch(self, backend, filters=None)
    @job(default_channel='root.lengow')@api.model
    Prepare the import of records modified on Lengow
  • import_record(self, backend, external_id, record_data)
    @job(default_channel='root.lengow')@api.model
    Import a Lengow record

New fields (16)
  • backend_id Many2one → lengow.backend
    comodel_name='lengow.backend' required=True string='Lengow Backend'
  • binded_product_ids One2many → lengow.product.product
    comodel_name='lengow.product.product' inverse_name='catalogue_id' string='Binded Products'
  • binded_products_count Float
    compute='_compute_count_binded_products' string='Binded Products'
  • default_lang_id Many2one → res.lang
    comodel_name='res.lang' help='This the default language used to export products, if nothingis specified, the language of the user responsible fo the exportwill be used' string='Default Language'
  • last_export_date Datetime
    args: 'Last Export on'
  • name Char
  • product_filename Char
    required=True string='Products File Name'
  • product_ftp Boolean
    args: 'Send By FTP'
  • product_ftp_directory Char
    string='Upload Directory'
  • product_ftp_host Char
    help='FTP server used to send products file.' string='Host'
  • product_ftp_password Char
    string='Password'
  • product_ftp_port Char
    string='Port'
  • product_ftp_user Char
    string='User'
  • product_pricelist_id Many2one → product.pricelist
    comodel_name='product.pricelist' help='If specified, this price list will be used to determine the price exported to Lengow' string='Sale Price List'
  • product_stock_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' default=<expr> 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.' required=True string='Stock Field'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='Warehouse used to compute the stock quantities.' required=True string='Warehouse'
Public methods (3)
  • export_binded_products(self)
    @api.multi
  • name_get(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (3)
  • backend_id Many2one → lengow.backend
    comodel_name='lengow.backend' required=True string='Lengow Backend'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' required=True string='Currency'
  • pricelist_id Many2one → product.pricelist
    comodel_name='product.pricelist' required=True string='Pricelist'
Public methods (0)

No public methods.

New fields (5)
  • discount Float
  • discount_end Date
    args: 'End Date'
  • discount_start Date
    args: 'Start Date'
  • discount_type Selection
    default='percent' required=True string='Mode' args: [('price', '€'), ('percent', '%')]
  • lengow_product_ids Many2many → lengow.product.product
    comodel_name='lengow.product.product' ondelete='cascade' string='Products'
Public methods (2)
  • action_confirm(self)
    @api.multi
  • default_get(self, fields_list)
    @api.model

New fields (13)
  • account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' compute='_compute_account_analytic_id' string='Analytic account'
  • backend_version Selection
    related='backend_id.version'
  • description Text
    string='Text'
  • fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' compute='_compute_fiscal_position_id' string='Fiscal position'
  • homepage Char
    string='Home Page'
  • name Char
    required=True
  • payment_mode_id Many2one → account.payment.mode
    comodel_name='account.payment.mode' string='Payment Modz'
  • route_id Many2one → stock.location.route
    comodel_name='stock.location.route' domain=[('sale_selectable', '=', True)] string='Route'
  • sale_prefix_code Char
    string='Prefix for Order Reference'
  • specific_account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' string='Specific analytic account'
  • specific_fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' string='Specific fiscal position'
  • specific_warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' string='Specific warehouse'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' compute='_compute_warehouse_id' string='warehouse'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • catalogue_id Many2one → lengow.catalogue
    comodel_name='lengow.catalogue' ondelete='cascade' required=True string='Lengow Catalogue'
  • product_ids Many2many → product.product
    comodel_name='product.product' ondelete='cascade' string='Products'
Public methods (2)
  • bind_products(self)
    @api.multi
  • default_get(self, fields_list)
    @api.model

New fields (7)
  • active Boolean
    default=True
  • catalogue_id Many2one → lengow.catalogue
    comodel_name='lengow.catalogue' ondelete='restrict' required=True string='Lengow Catalogue'
  • lengow_price Float
    compute='_compute_price' compute_sudo=False store=False args: 'Price'
  • odoo_id Many2one → product.product
    comodel_name='product.product' ondelete='restrict' required=True string='Product'
  • sale_end_date Date
    args: 'Promo End Date'
  • sale_from_date Date
    args: 'Promo Start Date'
  • sale_price Float
    args: 'Promo Price'
Public methods (1)
  • export_products(self, catalogue_id)
    @job(default_channel='root.lengow')@api.multi

New fields (1)
  • lengow_product_ids Many2many → lengow.product.product
    comodel_name='lengow.product.product' ondelete='cascade' relation='leng_prod_unbind_wizard_rel' string='Products'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
  • unbind_products(self)
    @api.multi

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

No public methods.

New fields (8)
  • backend_id Many2one
    index=True
  • id_flux Char
    index=True args: 'Id Flux on Lengow'
  • lengow_order_id Char
    index=True string='Lengow Order ID'
  • lengow_order_line_ids One2many → lengow.sale.order.line
    comodel_name='lengow.sale.order.line' inverse_name='lengow_order_id' string='Lengow Order Lines'
  • marketplace_id Many2one → lengow.market.place
    comodel_name='lengow.market.place' index=True string='MarketPlace'
  • odoo_id Many2one → sale.order
    comodel_name='sale.order' ondelete='cascade' required=True string='Sale Order'
  • total_amount Float
    digits=dp.get_precision('Account')
  • total_amount_tax Float
    digits=dp.get_precision('Account') string='Total amount w. tax'
Public methods (0)

No public methods.

New fields (3)
  • lengow_order_id Many2one → lengow.sale.order
    comodel_name='lengow.sale.order' index=True ondelete='cascade' required=True string='Lengow Sale Order'
  • lengow_orderline_id Char
    string='Lengow Order Line ID'
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' ondelete='cascade' required=True string='Sale Order Line'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (3)
  • lengow_order_id Many2one → lengow.sale.order
    comodel_name='lengow.sale.order' ondelete='set null' string='Lengow Sale Order'
  • odoo_id Many2one → stock.picking
    comodel_name='stock.picking' ondelete='cascade' required=True string='Stock Picking'
  • picking_method Selection
    required=True selection=[('complete', 'Complete'), ('partial', 'Partial')]
Public methods (1)
  • export_picking_done(self)
    @job(default_channel='root.lengow')@api.multi
    Export a complete or partial delivery order.

New fields (3)
  • backend_id Many2one → lengow.backend
    comodel_name='lengow.backend' required=True string='Lengow Backend'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True string='Country'
  • fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' string='Fiscal position'
Public methods (0)

No public methods.

New fields (4)
  • image_url Char
  • lengow_bind_ids One2many → lengow.product.product
    comodel_name='lengow.product.product' inverse_name='odoo_id' string='Lengow Bindings'
  • lengow_catalogue_ids Many2many → lengow.catalogue
    comodel_name='lengow.catalogue' compute='_compute_catalogue_ids' search=_search_lengow_catalogue_ids store=False string='Lengow Catalogues'
  • product_url Char
Public methods (1)
  • write(self, vals)
    @api.multi

New fields (1)
  • lengow_catalogue_ids Many2many → lengow.catalogue
    comodel_name='lengow.catalogue' related='product_variant_ids.lengow_catalogue_ids' search=_search_lengow_catalogue_ids store=False string='Lengow Catalogues'
Public methods (0)

No public methods.

New fields (4)
  • is_from_lengow Boolean
    compute='_compute_is_from_lengow' store=True string='Order imported from Lengow'
  • lengow_bind_ids One2many → lengow.sale.order
    comodel_name='lengow.sale.order' inverse_name='odoo_id' string='Lengow Bindings'
  • lengow_total_amount Float
    compute='_compute_lengow_total_amount' digits=dp.get_precision('Account') store=True string='Lengow Total amount'
  • lengow_total_amount_tax Float
    compute='_compute_lengow_total_amount_tax' digits=dp.get_precision('Account') store=True string='Lengow Total amount w. tax'
Public methods (0)

No public methods.

New fields (1)
  • lengow_bind_ids One2many → lengow.stock.picking
    comodel_name='lengow.stock.picking' inverse_name='odoo_id' string='Lengow Bindings'
Public methods (0)

No public methods.