Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
53a7704
ADD contract_sale_generation module
angelmoya Aug 10, 2017
5b9abe0
[FIX] contract_sale_generation: Isolate sale generation (#118)
angelmoya Nov 29, 2017
f36d6b4
[FIX] contract_payment_auto: Fix freze wkhtmltopdf freezed
moylop260 Nov 10, 2017
46ad692
[FIX] contract_sale_generation: Useless test
pedrobaeza Dec 2, 2017
561ad3a
[10.0][FIX+IMP] contract: Improve usability and don't fail on wrong d…
pedrobaeza Dec 7, 2017
4a440b9
[FIX] contract_sale_generation: it doesn't create sales (#141)
flotho Apr 1, 2018
58fc759
[FIX] contract. Optimize insertion of dates in invoice and lines.
NL66278 Dec 22, 2018
463d773
Translated using Weblate (Galician)
mvrodriguez Feb 7, 2019
b33cbc3
Translated using Weblate (German)
marylla Feb 22, 2019
430bcc5
Translated using Weblate (Finnish)
jarmokortetjarvi Mar 20, 2019
f7c1ae8
[WIP][12.0][MIG] contract_sale_generation
murtuzasaleh Sep 30, 2020
9ba24a8
Translated using Weblate (Portuguese (Brazil))
britoederr Nov 6, 2020
e4a1314
add display type in default values
flotho Jan 2, 2021
7258c58
Translated using Weblate (French)
remi-filament Jan 4, 2021
13bf49c
[12.0][FIX] contract: Incorrect product UOM qty dict key for the sale…
mkxmawilix Jan 27, 2021
551a1a4
[14.0][FIX] Travis
Freni-OSI Apr 7, 2021
1e05e53
[14.0][MIG] contract_sale_generation
Freni-OSI Apr 21, 2021
97e1675
[14.0][IMP] contract_sale_generation
rousseldenis Nov 7, 2021
f0f19af
[IMP] contract_sale_generation: Improve view
rousseldenis Nov 8, 2021
9ac929a
[14.0][IMP] contract_sale_generation: Transmit analytic account
rousseldenis Nov 23, 2021
b209878
[14.0][IMP] contract_sale_generation: Add hook method to retrieve sal…
rousseldenis Jan 21, 2022
d3256c3
[14.0][IMP] contract_sale_generation: Align method on Odoo conventions
rousseldenis Jan 21, 2022
0a90d1b
[14.0][IMP] contract_sale_generation: Take into account new method fo…
rousseldenis Jan 26, 2022
06282be
[14.0][IMP] contract_sale_generation: Remove deprecated domain onchange
rousseldenis Jan 26, 2022
ed5d18e
[14.0][IMP] contract_sale_generation: Split test and common
rousseldenis Feb 16, 2022
4b5d04d
[14.0][IMP] contract_sale_generation: Remove unused code
rousseldenis Feb 16, 2022
152cd87
Added translation using Weblate (Spanish (Argentina))
ibuioli Feb 22, 2022
9cf7a61
[14.0][FIX] contract_sale_generation: Recompute next recurring date a…
rousseldenis Mar 7, 2022
34c8ea6
[14.0][FIX] contract_sale_generation: Add start date on contract leve…
rousseldenis Mar 7, 2022
ab98ed6
[14.0][IMP] contract_sale_generation: Add tests with another recurrency
rousseldenis Mar 7, 2022
0a697f2
Translated using Weblate (Catalan)
Noel000 Mar 22, 2022
4d47a03
Translated using Weblate (Italian)
scigghia Mar 26, 2022
10f2fdd
[MIG] contract_sale_generation: Migration to 15.0
ntsirintanis Jun 22, 2022
cc54a06
[FIX] contract_sale_generation: Change SavepointCase to TransactionCase
victoralmau Nov 3, 2022
7e2cfe7
Translated using Weblate (Italian)
francesco-ooops Jan 18, 2023
ae34e29
[MIG] contract_sale_generation: Migration to 16.0
JesusValdez96 May 28, 2023
dbc8dc6
[UPD] Update contract_sale_generation.pot
Jun 5, 2023
4920589
[UPD] README.rst
OCA-git-bot Jun 5, 2023
33c0c3a
Update translation files
weblate Jun 5, 2023
414d462
Translated using Weblate (Portuguese (Brazil))
adrianojprado Jun 14, 2023
b0e7ebe
Translated using Weblate (Spanish)
Ivorra78 Aug 2, 2023
a3dc8e0
[UPD] README.rst
OCA-git-bot Sep 3, 2023
3dd54ca
Update translation files
weblate Oct 9, 2023
4157456
Translated using Weblate (Portuguese (Brazil))
adrianojprado Dec 27, 2023
ed93804
[16.0][IMP] contract and contract_sale_generation: Add translations
aliciagaarzo Mar 11, 2024
cfc696a
[UPD] Update contract_sale_generation.pot
Mar 16, 2024
c7b4934
[BOT] post-merge updates
OCA-git-bot Mar 16, 2024
ef580c5
Update translation files
weblate Mar 16, 2024
e78012f
Translated using Weblate (Spanish)
Ivorra78 Mar 21, 2024
1ad4539
Translated using Weblate (Dutch)
ThijsvOers Apr 2, 2024
6f5e886
Translated using Weblate (Italian)
mymage May 6, 2024
822d0f0
Translated using Weblate (Portuguese (Brazil))
May 21, 2024
340f7c1
Translated using Weblate (Croatian)
badbole May 28, 2024
25ae87e
[FIX] contract_sale_generation: Post-install test + fallback to load CoA
luisDIXMIT Feb 27, 2025
39b5cd8
[BOT] post-merge updates
OCA-git-bot Mar 7, 2025
f0e5f48
[IMP] contract_sale_generation: pre-commit auto fixes
javierjcf May 16, 2025
ad7c7c2
[MIG] contract_sale_generation: Migration to 17.0
javierjcf May 16, 2025
b6185da
[IMP] contract_sale_generation: pre-commit auto fixes
javierjcf Jun 12, 2025
181e62b
[MIG]contract_sale_generation: Migration to 18.0
javierjcf Jun 12, 2025
e3a017e
[UPD] Update contract_sale_generation.pot
Feb 27, 2026
ecf7553
[BOT] post-merge updates
OCA-git-bot Feb 27, 2026
515d1dc
[FIX] contract_sale_generation: Improve views and make it more simila…
etobella Feb 28, 2026
18019a8
[UPD] Update contract_sale_generation.pot
Mar 2, 2026
faf49ef
[BOT] post-merge updates
OCA-git-bot Mar 2, 2026
b0980a3
Update translation files
weblate Mar 2, 2026
61a4f07
Translated using Weblate (Italian)
mymage Mar 3, 2026
6921a7f
Translated using Weblate (Turkish)
bo-eska Jun 3, 2026
d4b7928
Translated using Weblate (Slovenian)
sysadminmatmoz Jun 7, 2026
60ad659
[MIG] contract_sale_generation: Migration to 19.0
Rad0van Jul 15, 2026
File filter

Filter by extension

Filter by extension


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

======================================
Contracts Management - Recurring Sales
======================================

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

.. |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/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github
:target: https://github.com/OCA/contract/tree/19.0/contract_sale_generation
:alt: OCA/contract
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/contract-19-0/contract-19-0-contract_sale_generation
: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=19.0
:alt: Try me on Runboat

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

This module extends functionality of contracts to be able to generate
sales orders instead of invoices.

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module, you need to:

1. Go to Sales -> Contracts and select or create a new contract.
2. Fill fields for selecting the recurrency and invoice parameters:

- Type defines document that contract will generate, can be "Sales"
or "Invoices"
- Sale Autoconfirm, validate Sales Orders if type is "Sales"

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_generation%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* ACSONE SA/NV
* PESOL

Contributors
------------

- Angel Moya <angel.moya@pesol.es>
- Florent THOMAS <florent.thomas@mind-and-go.com>
- Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
- Denis Roussel <denis.roussel@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/19.0/contract_sale_generation>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions contract_sale_generation/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
19 changes: 19 additions & 0 deletions contract_sale_generation/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2017 Pesol (<http://pesol.es>)
# Copyright 2017 Angel Moya <angel.moya@pesol.es>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)


{
"name": "Contracts Management - Recurring Sales",
"version": "19.0.1.0.0",
"category": "Contract Management",
"license": "AGPL-3",
"author": "ACSONE SA/NV, PESOL, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/contract",
"depends": ["contract_sale"],
"data": [
"data/contract_cron.xml",
"views/contract.xml",
],
"installable": True,
}
11 changes: 11 additions & 0 deletions contract_sale_generation/data/contract_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<odoo>
<record id="contract_cron_for_sale" model="ir.cron">
<field name="name">Generate Recurring sales from Contracts</field>
<field name="model_id" ref="model_contract_contract" />
<field name="state">code</field>
<field name="code">model.cron_recurring_create_sale()</field>
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
<field name="interval_type">days</field>
</record>
</odoo>
135 changes: 135 additions & 0 deletions contract_sale_generation/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_generation
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-30 01:41+0000\n"
"PO-Revision-Date: 2022-03-22 12:17+0000\n"
"Last-Translator: Noel estudillo <noelestudilloviera@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.3.2\n"

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_contract_contract
msgid "Contract"
msgstr "Contracte"

#. module: contract_sale_generation
#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order__contract_auto_confirm
msgid "Contract Auto Confirm"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_contract_line
#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id
msgid "Contract Line"
msgstr "Línia de contracte"

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_contract_template
msgid "Contract Template"
msgstr ""

#. module: contract_sale_generation
#. odoo-python
#: code:addons/contract_sale_generation/models/contract.py:0
msgid ""
"Contract manually sale order: <a href=\"#\" data-oe-model=\"%(model)s\" data-"
"oe-id=\"%(id)s\">Sale Order</a>"
msgstr ""

#. module: contract_sale_generation
#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form
msgid "Create Sales"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type
#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type
msgid "Defines what document is automatically generated by the cron."
msgstr ""

#. module: contract_sale_generation
#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server
msgid "Generate Recurring sales from Contracts"
msgstr "Generar vendes recurrents a partir de contractes"

#. module: contract_sale_generation
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type
msgid "Generation Type"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale
#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale
msgid "Sale"
msgstr "Venda"

#. module: contract_sale_generation
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm
msgid "Sale Autoconfirm"
msgstr "Venda Autoconfirmació"

#. module: contract_sale_generation
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count
msgid "Sale Count"
msgstr "Recompte de vendes"

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_sale_order
#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form
msgid "Sales Order"
msgstr "Comanda de venda"

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línia de comanda de vendes"

#. module: contract_sale_generation
#: model:ir.model.fields,help:contract_sale_generation.field_sale_order__contract_auto_confirm
msgid ""
"This is a technical field in order to know if the order shouldbe "
"automatically confirmed if generated by contract."
msgstr ""

#~ msgid "Abstract Recurring Contract"
#~ msgstr "Contracte recurrent abstracte"

#~ msgid "CREATE SALES"
#~ msgstr "CREAR VENDES"

#~ msgid "Contract Line to replace"
#~ msgstr "Línia de contracte a substituir"

#, python-format
#~ msgid ""
#~ "Contract manually sale order: <a href=\"#\" data-oe-model=\"%s\" data-oe-"
#~ "id=\"%s\">Sale Order</a>"
#~ msgstr ""
#~ "Contracte manualment la comanda de venda: <a href=\"#\" data-oe-"
#~ "model=\"%s\" data-oe-id=\"%s\">Comanda de venda</a>"

#~ msgid "Invoice"
#~ msgstr "Factura"

#~ msgid "Recurring Sales/Invoicing"
#~ msgstr "Vendes/Facturacions recurrents"

#~ msgid "Type"
#~ msgstr "Tipus"

#~ msgid "Analytic Account"
#~ msgstr "Compte analític"
100 changes: 100 additions & 0 deletions contract_sale_generation/i18n/contract_sale_generation.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contract_sale_generation
#
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: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_contract_contract
msgid "Contract"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order__contract_auto_confirm
msgid "Contract Auto Confirm"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_contract_line
#: model:ir.model.fields,field_description:contract_sale_generation.field_sale_order_line__contract_line_id
msgid "Contract Line"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_contract_template
msgid "Contract Template"
msgstr ""

#. module: contract_sale_generation
#. odoo-python
#: code:addons/contract_sale_generation/models/contract.py:0
msgid ""
"Contract manually sale order: <a href=\"#\" data-oe-model=\"%(model)s\" "
"data-oe-id=\"%(id)s\">Sale Order</a>"
msgstr ""

#. module: contract_sale_generation
#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form
msgid "Create Sales"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields,help:contract_sale_generation.field_contract_contract__generation_type
#: model:ir.model.fields,help:contract_sale_generation.field_contract_template__generation_type
msgid "Defines what document is automatically generated by the cron."
msgstr ""

#. module: contract_sale_generation
#: model:ir.actions.server,name:contract_sale_generation.contract_cron_for_sale_ir_actions_server
msgid "Generate Recurring sales from Contracts"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__generation_type
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__generation_type
msgid "Generation Type"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_contract__generation_type__sale
#: model:ir.model.fields.selection,name:contract_sale_generation.selection__contract_template__generation_type__sale
msgid "Sale"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_autoconfirm
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_template__sale_autoconfirm
msgid "Sale Autoconfirm"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields,field_description:contract_sale_generation.field_contract_contract__sale_count
msgid "Sale Count"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_sale_order
#: model_terms:ir.ui.view,arch_db:contract_sale_generation.contract_contract_form_view_recurring_sale_form
msgid "Sales Order"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model,name:contract_sale_generation.model_sale_order_line
msgid "Sales Order Line"
msgstr ""

#. module: contract_sale_generation
#: model:ir.model.fields,help:contract_sale_generation.field_sale_order__contract_auto_confirm
msgid ""
"This is a technical field in order to know if the order shouldbe "
"automatically confirmed if generated by contract."
msgstr ""
Loading
Loading