Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions sale_order_split_strategy/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=========================
Sale Order Split Strategy
=========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:eae070c92d94657fec4e8c66ffa9654cd9e94c14538719432d4e840594c5e4dc
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
:target: https://odoo-community.org/page/development-status
:alt: Alpha
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsale--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/sale-workflow/tree/19.0/sale_order_split_strategy
:alt: OCA/sale-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/sale-workflow-19-0/sale-workflow-19-0-sale_order_split_strategy
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/sale-workflow&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module provides the possibility to define split strategies to be
applied on sales order for splitting.

This is useful (but not only) when a sales order from external sources
(webshop, edi) includes products that need to be shipped by different
standards (temperature/environment) and so with different carriers.

.. IMPORTANT::
This is an alpha version, the data model and design can change at any time without warning.
Only for development or testing purpose, do not use in production.
`More details on development status <https://odoo-community.org/page/development-status>`_

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module you first need to create splitting strategies to
apply on sales order.

::

Sales -> Configuration -> Split Startegies

The splitting is based on an ir.filter applied on sale.order.line.

Then on sales order, the Split Strategy field allows to select the
corresponding strategy. After which a button ``Split`` is available on
the form to split an order.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/sale-workflow/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_order_split_strategy%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Camptocamp

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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.

.. |maintainer-grindtildeath| image:: https://github.com/grindtildeath.png?size=40px
:target: https://github.com/grindtildeath
:alt: grindtildeath

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-grindtildeath|

This module is part of the `OCA/sale-workflow <https://github.com/OCA/sale-workflow/tree/19.0/sale_order_split_strategy>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions sale_order_split_strategy/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
23 changes: 23 additions & 0 deletions sale_order_split_strategy/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2024 Camptocamp SA
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
{
"name": "Sale Order Split Strategy",
"summary": "Define strategies to split sales orders",
"version": "19.0.1.0.0",
"development_status": "Alpha",
"category": "Sales Management",
"website": "https://github.com/OCA/sale-workflow",
"author": "Camptocamp, Odoo Community Association (OCA)",
"maintainers": ["grindtildeath"],
"license": "AGPL-3",
"depends": [
"sale",
],
"data": [
"security/ir.model.access.csv",
"views/mail_message_template.xml",
"views/res_config.xml",
"views/sale_order_split_strategy.xml",
"views/sale_order.xml",
],
}
200 changes: 200 additions & 0 deletions sale_order_split_strategy/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_split_strategy
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-01-21 08:49+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\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"
"X-Generator: Weblate 5.15.2\n"

#. module: sale_order_split_strategy
#. odoo-python
#: code:addons/sale_order_split_strategy/models/sale_order.py:0
msgid ""
"Cannot split order %(order_name)s according to its strategy because there "
"are no matching lines"
msgstr ""
"Non è possibile dividere l'ordine %(order_name)s in accordo alla sua "
"strategia perché non ci sono righe corrispondenti"

#. module: sale_order_split_strategy
#. odoo-python
#: code:addons/sale_order_split_strategy/models/sale_order.py:0
msgid "Cannot split orders %(order_names)s without any split strategy defined"
msgstr ""
"Non si può dividere l'ordine %(order_names)s senza una strategia di "
"suddivisione definita"

#. module: sale_order_split_strategy
#: model:ir.model,name:sale_order_split_strategy.model_res_company
msgid "Companies"
msgstr "Aziende"

#. module: sale_order_split_strategy
#: model:ir.model,name:sale_order_split_strategy.model_res_config_settings
msgid "Config Settings"
msgstr "Impostazioni configurazione"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__copy_notes
msgid "Copy Notes"
msgstr "Copia note"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__copy_sections
msgid "Copy Sections"
msgstr "Copia sezioni"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__create_uid
msgid "Created by"
msgstr "Creato da"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__create_date
msgid "Created on"
msgstr "Creato il"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__display_name
msgid "Display Name"
msgstr "Nome visualizzato"

#. module: sale_order_split_strategy
#: model:ir.model.fields.selection,name:sale_order_split_strategy.selection__res_company__sale_order_split_strategy_errors__do_nothing
msgid "Do nothing"
msgstr "Non fare nulla"

#. module: sale_order_split_strategy
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.res_config_settings_view_form_sale_exception
msgid "How split errors are to be reported"
msgstr "Come devono essere segnalati gli errori separati"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__id
msgid "ID"
msgstr "ID"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__line_filter_id
msgid "Line Filter"
msgstr "Filtro riga"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__name
msgid "Name"
msgstr "Nome"

#. module: sale_order_split_strategy
#: model:ir.model,name:sale_order_split_strategy.model_sale_order_split_strategy
msgid "Order split strategy"
msgstr "Ordine strategia suddivisione"

#. module: sale_order_split_strategy
#: model:ir.model.fields.selection,name:sale_order_split_strategy.selection__res_company__sale_order_split_strategy_errors__post_message
msgid "Post message"
msgstr "Invia messaggio"

#. module: sale_order_split_strategy
#: model:ir.model.fields.selection,name:sale_order_split_strategy.selection__res_company__sale_order_split_strategy_errors__raise_errors
msgid "Raise errors"
msgstr "Segnala errori"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__remove_empty_sections_after_split
msgid "Remove Empty Sections After Split"
msgstr "Rimuovere sezioni vuote dopo la divisione"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_res_company__sale_order_split_strategy_errors
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_res_config_settings__sale_order_split_strategy_errors
msgid "Sale Order Split Strategy Errors"
msgstr "Errori strategia divisione ordine vendita"

#. module: sale_order_split_strategy
#: model:ir.model,name:sale_order_split_strategy.model_sale_order
msgid "Sales Order"
msgstr "Ordine di vendita"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order_split_strategy__sequence
msgid "Sequence"
msgstr "Sequenza"

#. module: sale_order_split_strategy
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.view_order_form
msgid "Split"
msgstr "Dividi"

#. module: sale_order_split_strategy
#: model:ir.actions.act_window,name:sale_order_split_strategy.sale_order_split_strategy_action
#: model:ir.ui.menu,name:sale_order_split_strategy.sale_order_split_strategy_menu
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.sale_order_split_strategy_view_tree
msgid "Split Strategies"
msgstr "Strategie suddivisione"

#. module: sale_order_split_strategy
#: model:ir.model.fields,field_description:sale_order_split_strategy.field_sale_order__split_strategy_id
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.sale_order_split_strategy_view_form
msgid "Split Strategy"
msgstr "Strategia suddivisione"

#. module: sale_order_split_strategy
#: model:ir.model.fields,help:sale_order_split_strategy.field_sale_order__split_strategy_id
msgid "The strategy that will be used to split the sales order"
msgstr "La strategia che verrà usata per dividere l'ordine di vendita"

#. module: sale_order_split_strategy
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.split_to
msgid "This sale order had some of its lines split to"
msgstr "Questo ordine ha alcune righe suddivise in"

#. module: sale_order_split_strategy
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.split_from
msgid "This sale order was created after splitting lines from"
msgstr ""
"Questo ordine di vendita è stato creato dopo la suddivisione delle righe da"

#. module: sale_order_split_strategy
#. odoo-python
#: code:addons/sale_order_split_strategy/models/sale_order.py:0
msgid ""
"This sale order was not split using strategy %(strategy)s because there "
"would not be any lines left on this order."
msgstr ""
"Questo ordine di vendita non è stato suddiviso utilizzando la strategia %"
"(strategy)s perché non c'erano righe nell'ordine."

#. module: sale_order_split_strategy
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.split_from
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.split_to
msgid "strategy."
msgstr "strategia."

#. module: sale_order_split_strategy
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.split_from
#: model_terms:ir.ui.view,arch_db:sale_order_split_strategy.split_to
msgid "using"
msgstr "usando"

#~ msgid "Last Modified on"
#~ msgstr "Ultima modifica il"
Loading
Loading