Merge PR #1002 into 15.0

Signed-off-by pedrobaeza
This commit is contained in:
OCA-git-bot
2023-11-09 16:14:42 +00:00
41 changed files with 1735 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
==========================================
Contract Invoicing of Pending Sales Orders
==========================================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:677f350039713fce998708f88a5907a26cde8dac2595c5f0e5d78af8c31a3c9f
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Fcontract-lightgray.png?logo=github
:target: https://github.com/OCA/contract/tree/12.0/contract_sale_invoicing
:alt: OCA/contract
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract_sale_invoicing
: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/contract&target_branch=12.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This modules allows to include on the same invoice than the recurring invoice
contract, all the pending to invoice sales orders that you have with the same
analytic account.
**Table of contents**
.. contents::
:local:
Usage
=====
To use this module, you need to:
#. Go to Invoicing > Sales > Contracts and select or create a new contract.
#. Check *Generate recurring invoices automatically*.
#. Mark the check "Invoice Pending Sales Orders".
#. On each invoicing, system will check if there's any pending sales orders
with same analyitic account and will append the lines to the invoice being
generated.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/contract/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/contract/issues/new?body=module:%20contract_sale_invoicing%0Aversion:%2012.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
~~~~~~~
* Tecnativa
Contributors
~~~~~~~~~~~~
* `Tecnativa <https://www.tecnativa.com>`_:
* Carlos Dauden
* Souheil Bejaoui <souheil.bejaoui@acsone.eu>
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/contract <https://github.com/OCA/contract/tree/12.0/contract_sale_invoicing>`_ 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).
from . import models

View File

@@ -0,0 +1,20 @@
# Copyright 2018 Tecnativa - Carlos Dauden
# Copyright 2023 Tecnativa - Carolina Fernandez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Contract Invoicing of Pending Sales Orders",
"summary": "Include sales to invoice in contract invoice creation",
"version": "15.0.1.0.0",
"category": "Contract Management",
"website": "https://github.com/OCA/contract",
"author": "Tecnativa, " "Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"depends": [
"contract",
"sale_management",
],
"data": [
"views/contract_view.xml",
],
}

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Compte analític"

View File

@@ -0,0 +1,30 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "If checked include sales with same analytic account to invoice in contract invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""

View File

@@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2019-10-29 21:33+0000\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\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 3.8\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr "Vertrag"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
"Wenn angewählt, schließe Verkäufe mit gleicher abzurechnender Kostenstelle "
"in Vertragsabrechnung ein."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Rechne ausstehende Verkaufsaufträge ab"
#~ msgid "Analytic Account"
#~ msgstr "Kostenstelle"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Αναλυτικός Λογαριασμός"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2020-03-25 18:13+0000\n"
"Last-Translator: Nelson Ramírez Sánchez <info@konos.cl>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr "Contrato"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
"Si está marcado, incluya las ventas con la misma cuenta analítica para "
"facturar en la creación de la factura del contrato."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Facturar pedidos pendientes"
#~ msgid "Analytic Account"
#~ msgstr "Cuenta analítica"

View File

@@ -0,0 +1,30 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: es_CL\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "If checked include sales with same analytic account to invoice in contract invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/"
"es_MX/)\n"
"Language: es_MX\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Cuenta analítica"

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analyyttinen tili"

View File

@@ -0,0 +1,43 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
# Quentin THEURET <odoo@kerpeo.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2021-01-04 11:44+0000\n"
"Last-Translator: Rémi <remi@le-filament.com>\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.3.2\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr "Contrat"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
"Si cochée, les ventes ayant le même compte analytique seront facturées lors "
"de la création de facture du contrat."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Commandes avec une facture en attente"
#~ msgid "Analytic Account"
#~ msgstr "Compte analytique"

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
"Language: gl\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Conta analítica"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Hindi (India) (https://www.transifex.com/oca/teams/23907/"
"hi_IN/)\n"
"Language: hi_IN\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "विश्लेषणात्मक खाता"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitički konto"

View File

@@ -0,0 +1,41 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Konto analitike"

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitikus gyűjtőkód könyvelés"

View File

@@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2021-01-30 11:44+0000\n"
"Last-Translator: Andrea Cometa <a.cometa@apuliasoftware.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 4.3.2\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
"Se spuntato, include le vendite con lo stesso conto analitico da fatturare "
"nella creazione della fattura da contratto."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Fattura ordini di vendita in sospeso"
#~ msgid "Analytic Account"
#~ msgstr "Conto Analitico"

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Kostenplaats"

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2020-02-17 19:13+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 3.10\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr "Contrato"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
"Se assinalado, inclui vendas com a mesma conta analítica na criação de "
"faturas do contrato."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Faturar Encomendas de Venda Pendentes"

View File

@@ -0,0 +1,43 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"PO-Revision-Date: 2020-06-17 01:19+0000\n"
"Last-Translator: Fernando Colus <fcolus1@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 3.10\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr "Contrato"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
"Se marcada, inclua vendas com a mesma conta analítica para faturar na "
"criação da fatura do contrato."
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "Ordens de Venda Pendentes de Fatura"
#~ msgid "Analytic Account"
#~ msgstr "Conta Analítica"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/"
"teams/23907/pt_PT/)\n"
"Language: pt_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"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Conta Analítica"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Cont analitic"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/oca/teams/23907/"
"sk_SK/)\n"
"Language: sk_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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analytický účet"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitični konto"

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitik Hesap"

View File

@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-17 02:41+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\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=2; plural=(n > 1);\n"
#. module: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr ""
#~ msgid "Analytic Account"
#~ msgstr "Analitik Hesap"

View File

@@ -0,0 +1,39 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# DIT INTL <ditintlgroup@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-29 14:59+0000\n"
"PO-Revision-Date: 2018-04-27 01:12+0000\n"
"Last-Translator: DIT INTL <ditintlgroup@gmail.com>, 2018\n"
"Language-Team: Chinese (https://www.transifex.com/oca/teams/23907/zh/)\n"
"Language: zh\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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr ""
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr "如果选中,则在销售发票中包含分析帐户。"
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "发票挂起的销售订单"
#~ msgid "Analytic Account"
#~ msgstr "分析会计"

View File

@@ -0,0 +1,41 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_invoicing
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-17 02:41+0000\n"
"PO-Revision-Date: 2019-09-17 18:24+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: contract_sale_invoicing
#: model:ir.model,name:contract_sale_invoicing.model_contract_contract
msgid "Contract"
msgstr "合同"
#. module: contract_sale_invoicing
#: model:ir.model.fields,help:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid ""
"If checked include sales with same analytic account to invoice in contract "
"invoice creation."
msgstr "如果选中,则在合同发票创建中包含具有相同分析帐户的销售。"
#. module: contract_sale_invoicing
#: model:ir.model.fields,field_description:contract_sale_invoicing.field_contract_contract__invoicing_sales
msgid "Invoice Pending Sales Orders"
msgstr "待处理销售订单的发票"
#~ msgid "Analytic Account"
#~ msgstr "分析账户"

View File

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

View File

@@ -0,0 +1,39 @@
# Copyright 2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models
class ContractContract(models.Model):
_inherit = "contract.contract"
invoicing_sales = fields.Boolean(
string="Invoice Pending Sales Orders",
help="If checked include sales with same analytic account to invoice "
"in contract invoice creation.",
)
def _recurring_create_invoice(self, date_ref=False):
invoices = super()._recurring_create_invoice(date_ref)
for contract in self:
if not contract.invoicing_sales or not contract.recurring_next_date:
continue
sales = self.env["sale.order"].search(
[
("analytic_account_id", "=", contract.group_id.id),
(
"partner_invoice_id",
"child_of",
contract.partner_id.commercial_partner_id.ids,
),
("invoice_status", "=", "to invoice"),
(
"date_order",
"<=",
"{} 23:59:59".format(contract.recurring_next_date),
),
]
)
if sales:
invoices |= sales._create_invoices()
return invoices

View File

@@ -0,0 +1,6 @@
* `Tecnativa <https://www.tecnativa.com>`_:
* Carlos Dauden
* Carolina Fernandez
* Pedro M. Baeza
* Souheil Bejaoui <souheil.bejaoui@acsone.eu>

View File

@@ -0,0 +1,3 @@
This modules allows to include on the same invoice than the recurring invoice
contract, all the pending to invoice sales orders that you have with the same
analytic account.

View File

@@ -0,0 +1,8 @@
To use this module, you need to:
#. Go to Invoicing > Sales > Contracts and select or create a new contract.
#. Check *Generate recurring invoices automatically*.
#. Mark the check "Invoice Pending Sales Orders".
#. On each invoicing, system will check if there's any pending sales orders
with same analyitic account and will append the lines to the invoice being
generated.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -0,0 +1,441 @@
<?xml version="1.0" encoding="utf-8"?>
<!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>Contract Invoicing of Pending Sales Orders</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
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: grey; } /* 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 {
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="contract-invoicing-of-pending-sales-orders">
<h1 class="title">Contract Invoicing of Pending Sales Orders</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:677f350039713fce998708f88a5907a26cde8dac2595c5f0e5d78af8c31a3c9f
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<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/contract/tree/12.0/contract_sale_invoicing"><img alt="OCA/contract" src="https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-contract_sale_invoicing"><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/contract&amp;target_branch=12.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This modules allows to include on the same invoice than the recurring invoice
contract, all the pending to invoice sales orders that you have with the same
analytic account.</p>
<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>
<p>To use this module, you need to:</p>
<ol class="arabic simple">
<li>Go to Invoicing &gt; Sales &gt; Contracts and select or create a new contract.</li>
<li>Check <em>Generate recurring invoices automatically</em>.</li>
<li>Mark the check “Invoice Pending Sales Orders”.</li>
<li>On each invoicing, system will check if theres any pending sales orders
with same analyitic account and will append the lines to the invoice being
generated.</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/contract/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/contract/issues/new?body=module:%20contract_sale_invoicing%0Aversion:%2012.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>Tecnativa</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul class="simple">
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Carlos Dauden</li>
<li>Carolina Fernandez</li>
</ul>
</li>
<li>Souheil Bejaoui &lt;<a class="reference external" href="mailto:souheil.bejaoui&#64;acsone.eu">souheil.bejaoui&#64;acsone.eu</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/contract/tree/12.0/contract_sale_invoicing">OCA/contract</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).
from . import test_contract_sale_invoicing

View File

@@ -0,0 +1,69 @@
# Copyright 2018 Tecnativa - Carlos Dauden
# Copyright 2023 Tecnativa - Carolina Fernandez
# Copyright 2023 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from freezegun import freeze_time
from odoo.addons.contract.tests.test_contract import TestContractBase
@freeze_time("2016-02-28")
class TestContractSaleInvoicing(TestContractBase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.env = cls.env(
context=dict(
cls.env.context,
mail_create_nolog=True,
mail_create_nosubscribe=True,
mail_notrack=True,
no_reset_password=True,
tracking_disable=True,
)
)
cls.contract.group_id = cls.env["account.analytic.account"].search([], limit=1)
cls.product_so = cls.env.ref("product.product_product_1")
cls.product_so.invoice_policy = "order"
cls.sale_order = cls.env["sale.order"].create(
{
"partner_id": cls.partner.id,
"partner_invoice_id": cls.partner.id,
"partner_shipping_id": cls.partner.id,
"order_line": [
(
0,
0,
{
"name": cls.product_so.name,
"product_id": cls.product_so.id,
"product_uom_qty": 2,
"product_uom": cls.product_so.uom_id.id,
"price_unit": cls.product_so.list_price,
},
)
],
"pricelist_id": cls.partner.property_product_pricelist.id,
"analytic_account_id": cls.contract.group_id.id,
}
)
def test_not_sale_invoicing(self):
self.contract.invoicing_sales = False
self.sale_order.action_confirm()
self.contract.recurring_create_invoice()
self.assertEqual(self.sale_order.invoice_status, "to invoice")
def test_sale_invoicing(self):
self.contract.invoicing_sales = True
self.sale_order.action_confirm()
self.contract.recurring_create_invoice()
self.assertEqual(self.sale_order.invoice_status, "invoiced")
def test_contract_sale_invoicing_without(self):
self.contract.invoicing_sales = True
self.sale_order.analytic_account_id = False
self.sale_order.action_confirm()
self.contract.recurring_create_invoice()
self.assertEqual(self.sale_order.invoice_status, "to invoice")

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2018 Tecnativa - Carlos Dauden
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="contract_contract_form_view" model="ir.ui.view">
<field name="model">contract.contract</field>
<field name="inherit_id" ref="contract.contract_contract_form_view" />
<field name="arch" type="xml">
<field name="recurring_next_date" position="after">
<field name="invoicing_sales" />
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1 @@
../../../../contract_sale_invoicing

View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)