Initial commit: Odoo 18.0-20251222 extra-addons
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled

This commit is contained in:
tocmo0nlord
2026-03-13 20:43:25 +00:00
parent 36e847a7df
commit adbe430761
9472 changed files with 1265727 additions and 0 deletions

98
sale_force_invoiced/README.rst Executable file
View File

@@ -0,0 +1,98 @@
===================
Sale Force Invoiced
===================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:88c3fd5bb6e1313154f5cd49499100cde33f80ab64a495b406546a6d5be45aa9
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-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/18.0/sale_force_invoiced
: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-18-0/sale-workflow-18-0-sale_force_invoiced
: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=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module adds the possibility for users to force the invoice status
of the sales orders to 'Invoiced', even when not all the quantities
ordered or delivered have been invoiced.
This feature useful in the following scenario:
- The customer disputes the quantities to be invoiced for, after the
products have been delivered to her/him, and you agree to reduce the
quantity to invoice (without sending a refund).
- When migrating from a previous Odoo version, in some cases there is
less quantity invoiced to what was delivered, and you don't want these
old sales orders to appear in your 'To Invoice' list.
**Table of contents**
.. contents::
:local:
Usage
=====
1. Create a sales order and confirm it.
2. Deliver the products/services.
3. Create an invoice and reduce the invoiced quantity. The sales order
invoicing status is 'To Invoice'.
4. Check the field 'Force Invoiced'. The sales order invoicing status
and Sale Order Line invoicing status will be 'Invoiced'.
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_force_invoiced%0Aversion:%2018.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
-------
* ForgeFlow
Contributors
------------
- Jordi Ballester <jordi.ballester@forgeflow.com>
- Erwin van der Ploeg <erwin@odooexperts.nl>
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.
This module is part of the `OCA/sale-workflow <https://github.com/OCA/sale-workflow/tree/18.0/sale_force_invoiced>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import model

View File

@@ -0,0 +1,18 @@
# Copyright 2017 ForgeFlow S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Sale Force Invoiced",
"summary": "Allows to force the invoice status of the sales order to Invoiced",
"version": "18.0.1.0.1",
"author": "ForgeFlow, Odoo Community Association (OCA)",
"category": "sale",
"license": "AGPL-3",
"website": "https://github.com/OCA/sale-workflow",
"depends": ["sale"],
"data": [
"security/security.xml",
"view/sale_order.xml",
],
"installable": True,
}

54
sale_force_invoiced/i18n/ca.po Executable file
View File

@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2024-04-18 11:39+0000\n"
"Last-Translator: jabelchi <jabelchi@gmail.com>\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
"Language: ca\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 4.17\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr "Força facturat"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr "Comanda de venda"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"Quan configureu aquest camp, la comanda de venda es considerarà totalment "
"facturada, fins i tot quan es puguin demanar o lliurar quantitats pendents "
"de facturar."
#~ msgid "Force invoiced"
#~ msgstr "Forçar facturat"

54
sale_force_invoiced/i18n/de.po Executable file
View File

@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2024-01-30 17:35+0000\n"
"Last-Translator: jappi00 <jappi2000@ewetel.net>\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/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"
"X-Generator: Weblate 4.17\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr "Fakturierung erzwingen"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr "Verkaufsauftrag"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"Wenn der Haken gesetzt ist, wird der Verkaufsauftrag als vollständig "
"abgerechnet interpretiert, auch wenn es noch abzurechende Mengen geben "
"sollte."
#~ msgid "Force invoiced"
#~ msgstr "als abgerechnet markieren"

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# Kostas Goutoudis <goutoudis@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: Kostas Goutoudis <goutoudis@gmail.com>, 2017\n"
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/"
"el_GR/)\n"
"Language: el_GR\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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Εντολή Πώλησης"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

54
sale_force_invoiced/i18n/es.po Executable file
View File

@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2023-06-07 19:09+0000\n"
"Last-Translator: gelo joga Rodríguez <gelo.joga@factorlibre.com>\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"
"X-Generator: Weblate 4.17\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr "Forzar a \"Facturado\""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr "Pedido de venta"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"Cuando establezca este campo, el pedido de cliente se considerará como "
"totalmente facturado, incluso cuando pueda haber cantidades pedidas o "
"entregadas pendientes de facturar."
#~ msgid "Force invoiced"
#~ msgstr "Forzar a facturado"

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/"
"es_ES/)\n"
"Language: es_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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Pedido de venta"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/"
"teams/23907/es_VE/)\n"
"Language: es_VE\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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Pedidos de venta"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

48
sale_force_invoiced/i18n/fi.po Executable file
View File

@@ -0,0 +1,48 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
"Language: fi\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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Myyntitilaus"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

54
sale_force_invoiced/i18n/fr.po Executable file
View File

@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2023-11-02 11:37+0000\n"
"Last-Translator: Alexis de Lattre <alexis@via.ecp.fr>\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/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"
"X-Generator: Weblate 4.17\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr "Forcer le statut à 'Entièrement facturé'"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr "Bon de commande"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"Lorsque vous activez cette option, le statut de la commande client basculera "
"à 'Entièrement facturée' même s'il reste des quantités commandées ou livrées "
"à facturer."
#~ msgid "Force invoiced"
#~ msgstr "Facturation forcée"

49
sale_force_invoiced/i18n/hr.po Executable file
View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Prodajni nalog"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

View File

@@ -0,0 +1,50 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# Bole <bole@dajmi5.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>, 2017\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/"
"hr_HR/)\n"
"Language: hr_HR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Prodjani nalog"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

48
sale_force_invoiced/i18n/hu.po Executable file
View File

@@ -0,0 +1,48 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n"
"Language: hu\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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Vevői megrendelés"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

51
sale_force_invoiced/i18n/it.po Executable file
View File

@@ -0,0 +1,51 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2024-10-19 10:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/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"
"X-Generator: Weblate 5.6.2\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr "Abilita forza a fatturato"
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr "Forza a fatturato"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr "Ordine di vendita"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr "Riga ordine di vendita"
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"Quando si imposta questo campo, l'ordine cliente verrà considerato come "
"interamente fatturato, anche quando potrebbero esserci quantità ordinate o "
"consegnate in attesa di fatturazione."

48
sale_force_invoiced/i18n/nl.po Executable file
View File

@@ -0,0 +1,48 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Verkooporder"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# Peter Hageman <hageman.p@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-29 03:28+0000\n"
"PO-Revision-Date: 2017-08-29 03:28+0000\n"
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
"teams/23907/nl_NL/)\n"
"Language: nl_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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Verkooporder"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

54
sale_force_invoiced/i18n/pt.po Executable file
View File

@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# Pedro Castro Silva <pedrocs@exo.pt>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-28 01:48+0000\n"
"PO-Revision-Date: 2023-06-13 13:10+0000\n"
"Last-Translator: Pedro Castro Silva <pedrocs@exo.pt>\n"
"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n"
"Language: pt\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 4.17\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr "Forçar Faturada"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr "Encomenda de Venda"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"Quando assinala este campo, a encomenda de venda será considerada como "
"completamente faturada mesmo que haja quantidades encomendadas ou entregues "
"pendentes para faturar."
#~ msgid "Force invoiced"
#~ msgstr "Forçar Faturada"

View File

@@ -0,0 +1,52 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2023-06-10 23:10+0000\n"
"Last-Translator: Adriano Prado <adrianojprado@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
"teams/23907/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"
"X-Generator: Weblate 4.17\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr "Forçar Faturado"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr "Pedido de Venda"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"Ao definir este campo, o pedido de venda será considerado como faturado "
"integralmente, mesmo que existam quantidades encomendadas ou entregues "
"pendentes de fatura."

49
sale_force_invoiced/i18n/ro.po Executable file
View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# Dorin Hongu <dhongu@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: Dorin Hongu <dhongu@gmail.com>, 2017\n"
"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
"2:1));\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Comandă vânzare"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

View File

@@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

48
sale_force_invoiced/i18n/sk.po Executable file
View File

@@ -0,0 +1,48 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-27 03:52+0000\n"
"PO-Revision-Date: 2018-01-27 03:52+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Objednávka predaja"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

49
sale_force_invoiced/i18n/sl.po Executable file
View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/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: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Prodajni nalog"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

51
sale_force_invoiced/i18n/tr.po Executable file
View File

@@ -0,0 +1,51 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2025-05-26 11:26+0000\n"
"Last-Translator: Betül Öğmen <betulo@eska.biz>\n"
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
"Language: tr\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.10.4\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr "Zorunlu Faturalandırmayı Etkinleştir"
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr "Zorunlu Faturalandırma"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
msgid "Sales Order"
msgstr "Satış Siparişi"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr "Satış Sipariş Satırı"
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"Bu alanı ayarladığınızda, faturalandırılacak sipariş edilen veya teslim "
"edilen miktarlar olsa bile satış siparişi tamamen faturalanmış olarak kabul "
"edilir."

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/"
"tr_TR/)\n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Satış emri"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

View File

@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2017-05-31 04:21+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/"
"teams/23907/vi_VN/)\n"
"Language: vi_VN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "Đơn hàng Bán"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""

View File

@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_force_invoiced
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-31 04:21+0000\n"
"PO-Revision-Date: 2019-09-01 09:03+0000\n"
"Last-Translator: 黎伟杰 <674416404@qq.com>\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/"
"zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.8\n"
#. module: sale_force_invoiced
#: model:res.groups,name:sale_force_invoiced.group_force_invoiced
msgid "Enable Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,field_description:sale_force_invoiced.field_sale_order__force_invoiced
msgid "Force Invoiced"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order
#, fuzzy
msgid "Sales Order"
msgstr "销售订单"
#. module: sale_force_invoiced
#: model:ir.model,name:sale_force_invoiced.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_force_invoiced
#: model:ir.model.fields,help:sale_force_invoiced.field_sale_order__force_invoiced
msgid ""
"When you set this field, the sales order will be considered as fully "
"invoiced, even when there may be ordered or delivered quantities pending to "
"invoice."
msgstr ""
"设置此字段时,即使订单或已交付的数量等待发票,销售订单也将被视为完全开票。"
#~ msgid "Force invoiced"
#~ msgstr "强制开具发票"

View File

@@ -0,0 +1,21 @@
# Copyright 2024 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import logging
from odoo import SUPERUSER_ID, api
_logger = logging.getLogger(__name__)
def migrate(cr, version):
if not version:
return
env = api.Environment(cr, SUPERUSER_ID, {})
val_users = [
(4, user.id) for user in env.ref("sales_team.group_sale_manager").users
]
if val_users:
env.ref("sale_force_invoiced.group_force_invoiced").write({"users": val_users})
_logger.info("Assign `group_force_invoiced` to all sale administrators")

View File

@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import sale_order

View File

@@ -0,0 +1,45 @@
# Copyright 2017 ForgeFlow S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class SaleOrder(models.Model):
_inherit = "sale.order"
force_invoiced = fields.Boolean(
help="When you set this field, the sales order will be considered as "
"fully invoiced, even when there may be ordered or delivered "
"quantities pending to invoice.",
readonly=True,
tracking=20,
copy=False,
)
@api.depends("force_invoiced")
def _compute_invoice_status(self):
res = super()._compute_invoice_status()
self.filtered(lambda so: so.force_invoiced and so.state == "sale").update(
{"invoice_status": "invoiced"}
)
return res
@api.depends("force_invoiced")
def _compute_amount_to_invoice(self):
# force_invoiced causes the amount to invoice to be zero
res = super()._compute_amount_to_invoice()
for so in self.filtered("force_invoiced"):
so.amount_to_invoice = 0
return res
class SaleOrderLine(models.Model):
_inherit = "sale.order.line"
@api.depends("order_id.force_invoiced")
def _compute_invoice_status(self):
res = super()._compute_invoice_status()
self.filtered(
lambda sol: sol.order_id.force_invoiced
).invoice_status = "invoiced"
return res

View File

@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"

View File

@@ -0,0 +1,2 @@
- Jordi Ballester \<<jordi.ballester@forgeflow.com>\>
- Erwin van der Ploeg \<<erwin@odooexperts.nl>\>

View File

@@ -0,0 +1,12 @@
This module adds the possibility for users to force the invoice status
of the sales orders to 'Invoiced', even when not all the quantities
ordered or delivered have been invoiced.
This feature useful in the following scenario:
- The customer disputes the quantities to be invoiced for, after the
products have been delivered to her/him, and you agree to reduce the
quantity to invoice (without sending a refund).
- When migrating from a previous Odoo version, in some cases there is
less quantity invoiced to what was delivered, and you don't want these
old sales orders to appear in your 'To Invoice' list.

View File

@@ -0,0 +1,6 @@
1. Create a sales order and confirm it.
2. Deliver the products/services.
3. Create an invoice and reduce the invoiced quantity. The sales order
invoicing status is 'To Invoice'.
4. Check the field 'Force Invoiced'. The sales order invoicing status
and Sale Order Line invoicing status will be 'Invoiced'.

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record model="res.groups" id="group_force_invoiced">
<field name="name">Enable Force Invoiced</field>
<field name="category_id" ref="base.module_category_hidden" />
<field name="users" eval="[(4, ref('base.user_admin'))]" />
</record>
</odoo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -0,0 +1,447 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Sale Force Invoiced</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="sale-force-invoiced">
<h1 class="title">Sale Force Invoiced</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:88c3fd5bb6e1313154f5cd49499100cde33f80ab64a495b406546a6d5be45aa9
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/sale-workflow/tree/18.0/sale_force_invoiced"><img alt="OCA/sale-workflow" src="https://img.shields.io/badge/github-OCA%2Fsale--workflow-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/sale-workflow-18-0/sale-workflow-18-0-sale_force_invoiced"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/sale-workflow&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module adds the possibility for users to force the invoice status
of the sales orders to Invoiced, even when not all the quantities
ordered or delivered have been invoiced.</p>
<p>This feature useful in the following scenario:</p>
<ul class="simple">
<li>The customer disputes the quantities to be invoiced for, after the
products have been delivered to her/him, and you agree to reduce the
quantity to invoice (without sending a refund).</li>
<li>When migrating from a previous Odoo version, in some cases there is
less quantity invoiced to what was delivered, and you dont want these
old sales orders to appear in your To Invoice list.</li>
</ul>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<ol class="arabic simple">
<li>Create a sales order and confirm it.</li>
<li>Deliver the products/services.</li>
<li>Create an invoice and reduce the invoiced quantity. The sales order
invoicing status is To Invoice.</li>
<li>Check the field Force Invoiced. The sales order invoicing status
and Sale Order Line invoicing status will be Invoiced.</li>
</ol>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/sale-workflow/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_force_invoiced%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<ul class="simple">
<li>ForgeFlow</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul class="simple">
<li>Jordi Ballester &lt;<a class="reference external" href="mailto:jordi.ballester&#64;forgeflow.com">jordi.ballester&#64;forgeflow.com</a>&gt;</li>
<li>Erwin van der Ploeg &lt;<a class="reference external" href="mailto:erwin&#64;odooexperts.nl">erwin&#64;odooexperts.nl</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/sale-workflow/tree/18.0/sale_force_invoiced">OCA/sale-workflow</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import test_sale_force_invoiced

View File

@@ -0,0 +1,104 @@
# Copyright 2017 ForgeFlow S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo.tests.common import TransactionCase
class TestSaleForceInvoiced(TransactionCase):
def setUp(self):
super().setUp()
self.sale_order_model = self.env["sale.order"]
self.sale_order_line_model = self.env["sale.order.line"]
# Data
product_ctg = self._create_product_category()
self.service_1 = self._create_product("test_product1", product_ctg)
self.service_2 = self._create_product("test_product2", product_ctg)
self.customer = self._create_customer("Test Customer")
def _create_customer(self, name):
"""Create a Partner."""
return self.env["res.partner"].create(
{"name": name, "email": "example@yourcompany.com", "phone": 123456}
)
def _create_product_category(self):
product_ctg = self.env["product.category"].create({"name": "test_product_ctg"})
return product_ctg
def _create_product(self, name, product_ctg):
product = self.env["product.product"].create(
{
"name": name,
"categ_id": product_ctg.id,
"type": "service",
"invoice_policy": "order",
}
)
return product
def test_sales_order(self):
so = self.sale_order_model.create({"partner_id": self.customer.id})
sol1 = self.sale_order_line_model.create(
{
"product_id": self.service_1.id,
"product_uom_qty": 1,
"order_id": so.id,
"price_unit": 1.0,
}
)
sol2 = self.sale_order_line_model.create(
{
"product_id": self.service_2.id,
"product_uom_qty": 2,
"order_id": so.id,
"price_unit": 2.0,
}
)
# confirm quotation
so.action_confirm()
# update quantities delivered
sol1.qty_delivered = 1
sol2.qty_delivered = 2
self.assertEqual(
so.invoice_status, "to invoice", "The invoice status should be To Invoice"
)
so._create_invoices()
self.assertEqual(
so.invoice_status, "invoiced", "The invoice status should be Invoiced"
)
# Reduce the invoiced qty
for line in sol2.invoice_lines.with_context(check_move_validity=False):
line.quantity = 1
self.assertEqual(
so.invoice_status, "to invoice", "The invoice status should be To Invoice"
)
so.action_lock()
so.force_invoiced = True
self.assertEqual(
so.invoice_status, "invoiced", "The invoice status should be Invoiced"
)
self.assertEqual(
sol1.invoice_status, "invoiced", "The SOL invoice status should be Invoiced"
)
self.assertEqual(
sol2.invoice_status, "invoiced", "The SOL invoice status should be Invoiced"
)
self.assertFalse(
so.amount_to_invoice,
"Amount to invoice when invoice is forced should be 0",
)
so.force_invoiced = False
self.assertEqual(
so.invoice_status, "to invoice", "The invoice status should be To Invoice"
)
self.assertEqual(
so.amount_to_invoice,
sum(so.order_line.mapped("price_total")),
"Amount to invoice when invoice is not forced should be original amount",
)

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="view_order_form" model="ir.ui.view">
<field name="name">sale.order.form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form" />
<field name="arch" type="xml">
<group name="sale_info" position="inside">
<field
name="force_invoiced"
groups="sale_force_invoiced.group_force_invoiced"
widget="boolean_toggle"
invisible="state != 'sale'"
readonly="state != 'sale'"
/>
</group>
</field>
</record>
</odoo>