Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
457 commits
Select commit Hold shift + click to select a range
86f0b82
[IMP] contract: Make portal link configurable
Jul 26, 2023
c94d050
Translated using Weblate (Italian)
mymage Aug 1, 2023
ee4a494
Translated using Weblate (Spanish)
Ivorra78 Aug 2, 2023
aece819
Translated using Weblate (Italian)
mymage Aug 22, 2023
2103a79
Translated using Weblate (Spanish)
Ivorra78 Sep 4, 2023
d84c6b7
[16.0][FIX] contract: invoice message create
carolinafernandez-tecnativa Oct 9, 2023
e97928c
Translated using Weblate (Italian)
mymage Oct 12, 2023
ee724fa
Translated using Weblate (Portuguese (Brazil))
adrianojprado Oct 13, 2023
a809594
[FIX] No contract line and invoices when contract is archived
fkantelberg Jan 24, 2023
0f5413c
Translated using Weblate (Italian)
mymage Oct 23, 2023
8459867
Translated using Weblate (Portuguese (Brazil))
adrianojprado Oct 28, 2023
348dd7a
Translated using Weblate (Italian)
mymage Oct 31, 2023
d553706
Translated using Weblate (Italian)
alessandro-fiorino Nov 8, 2023
ec94519
[FIX] contract: removed dateutil from dependencies
Nov 8, 2023
b31b796
Translated using Weblate (Italian)
alessandro-fiorino Nov 8, 2023
8ae7181
Translated using Weblate (Dutch)
ThijsvOers Nov 14, 2023
c98b6fa
Translated using Weblate (Italian)
mymage Nov 14, 2023
9dbb827
Translated using Weblate (Italian)
francesco-ooops Dec 15, 2023
12b8f5e
Translated using Weblate (French)
remi-filament Dec 20, 2023
46ca7a4
Translated using Weblate (Italian)
mymage Dec 24, 2023
1733cf6
[FIX] Show analytic distribution and hide analytic account
fkantelberg Nov 7, 2023
49bdb15
[MIG] contract: Remove analytic_account_id and add migration
fkantelberg Jan 4, 2024
c4511b2
Translated using Weblate (Italian)
mymage Jan 25, 2024
d2bcc43
[FIX] contract: Change web_ribbon text to title to make it translatable
victoralmau Jan 30, 2024
3e80129
[FIX] contract: Move migration to post migration
fkantelberg Feb 1, 2024
d986c93
[16.0] contract: Show discount lines for users with the group 'Discou…
fkantelberg Feb 9, 2024
dcb2fdd
[IMP] contract: Protect line recurrrency change
pedrobaeza Jan 9, 2024
a1ed198
Translated using Weblate (Italian)
mymage Feb 20, 2024
fdd9180
[16.0][IMP] contract and contract_sale_generation: Add translations
aliciagaarzo Mar 11, 2024
abd2b65
Translated using Weblate (French)
houzefa-abba Mar 13, 2024
1dfd0b4
[FIX] contract: Fix modifications layout
pedrobaeza Mar 14, 2024
dea4b29
[IMP] contract: Remove buttons from contract lines if recurrence is n…
victoralmau Mar 12, 2024
26c45f3
Translated using Weblate (Italian)
francesco-ooops Mar 20, 2024
f7574d7
[16.0][IMP] contract: improve visual
aliciagaarzo Mar 21, 2024
dc5a578
[16.0][IMP] contract and contract_variable_quantity: improve visual o…
aliciagaarzo Apr 1, 2024
9b2d0ed
[IMP] contract: black, isort, prettier
CRogos Mar 23, 2024
6cdba87
[MIG] contract: Migration to 17.0
CRogos Mar 27, 2024
e5c1acf
Translated using Weblate (Italian)
mymage Apr 11, 2024
52a1ea7
[17.0][IMP] contract: solve error for last_date_invoiced field
aliciagaarzo Apr 15, 2024
338ef91
[17.0][FIX] contract: report translations & change structure
Apr 23, 2024
f90cd22
Translated using Weblate (Spanish)
Ivorra78 Apr 24, 2024
47b2ccc
Translated using Weblate (Italian)
mymage May 6, 2024
062b17f
Translated using Weblate (Italian)
mymage May 30, 2024
79953bc
Translated using Weblate (Swedish)
jakobkrabbe Jun 5, 2024
bd3271c
Translated using Weblate (Italian)
mymage Jul 29, 2024
3da3474
[FIX] contract: Fix error when sending contract by email
carolinafernandez-tecnativa Aug 12, 2024
be934c8
Translated using Weblate (Spanish)
pedrobaeza Aug 12, 2024
59b7ee3
Translated using Weblate (Italian)
mymage Aug 20, 2024
dd4765c
Translated using Weblate (Italian)
mymage Aug 26, 2024
7d1c79d
Translated using Weblate (Italian)
mymage Aug 29, 2024
93d99e5
[FIX] contract: Link format error for messages posted when creates ma…
sergio-teruel Sep 3, 2024
c59ba1a
Translated using Weblate (Italian)
mymage Sep 9, 2024
8530f13
Translated using Weblate (Finnish)
jarmokortetjarvi Sep 23, 2024
51cded2
[FIX] contract : ignore date constraint for a note
florian-dacosta Dec 3, 2024
1e5a76e
[IMP] Add INVOICEMONTHNAME marker to line description
stenext May 8, 2023
9be6b43
[I18N] contract: Spanish translations
victoralmau Dec 5, 2024
42d5467
Translated using Weblate (Italian)
mymage Dec 6, 2024
2f7291f
[FIX] contract: link contract instead of move
carlos-lopez-tecnativa Dec 24, 2024
64ce418
[IMP] contract: Use %m instead of %B to obtain month
victoralmau Dec 20, 2024
014a063
[IMP] contract: Add contract lines entry point for reporting
rousseldenis May 15, 2022
1280838
Translated using Weblate (Spanish)
victoralmau Jan 10, 2025
446ef13
[IMP] contract: Terminate contract lines with last_date_invoiced if i…
sergio-teruel Jan 9, 2025
fcaf2aa
Translated using Weblate (Italian)
mymage Jan 10, 2025
52a93fe
Translated using Weblate (Italian)
mymage Jan 11, 2025
e1454f6
[IMP] contract Report correction, prevent unintended styling when usi…
arielbarreiros96 Jan 10, 2025
d1a586e
[FIX] contract: Invoice creation message translatable
pedrobaeza Feb 1, 2025
c6b7f74
Translated using Weblate (Italian)
mymage Feb 13, 2025
09b38c7
[FIX]contract: Malformed expression in the column_invisible attribute.
adasatorres Feb 13, 2025
e77181f
Translated using Weblate (Chinese (Traditional) (zh_TW))
tekvinci Mar 2, 2025
1870f73
Translated using Weblate (Spanish)
pedrobaeza Mar 2, 2025
03fab64
Translated using Weblate (Italian)
mymage Mar 26, 2025
2a77e3c
Translated using Weblate (Turkish)
bo-eska Apr 15, 2025
5dab242
Translated using Weblate (Turkish)
bo-eska Apr 17, 2025
883ec74
[IMP] contract: Adapting portal contract design to odoo style
pilarvargas-tecnativa Apr 22, 2025
4396b36
[FIX] contract: Don't lose modification email layout
pedrobaeza May 6, 2025
bb92010
Translated using Weblate (Catalan)
pere-aquarian May 27, 2025
a7eea25
[18.0][MIG] contract
sbejaoui Nov 4, 2024
68b1763
[REF] split contract module into: contract, contract_line_successor, …
sbejaoui Apr 16, 2025
332b832
[IMP] contract: Change `automatic_price` fields to stored
rousseldenis Jun 3, 2025
bb990ca
[IMP] contract: Remove duplicate compute function for `price_unit` field
rousseldenis Jun 3, 2025
b809ec9
[IMP] contract: Reintroduce comment about onchanges on _inverse methods
rousseldenis Jun 3, 2025
672d1fc
[IMP] contract: Remove onchange on `product_id`
rousseldenis Jun 3, 2025
2c40eeb
[IMP] contract: Use account.journal `_check_company_domain()` to get …
rousseldenis Jun 3, 2025
9da6c99
[IMP] contract: Remove wrong api.model decorators + use Environment t…
rousseldenis Jun 3, 2025
72b1564
[IMP] contract: remove blocking view in migration script
CRogos Jun 4, 2025
8ec65cb
Translated using Weblate (Italian)
mymage Jun 5, 2025
5cc496c
[IMP] contract and product_contract: pre-commit auto fixes
Anxo82 Jun 16, 2025
2366a35
Update translation files
weblate Jun 20, 2025
7f9f2d0
Translated using Weblate (Italian)
mymage Jun 23, 2025
a03a163
[IMP] contract: make label for notes visible on contract view form
glitchov Jun 30, 2025
18549c2
Translated using Weblate (Italian)
mymage Jul 7, 2025
1543431
[FIX] contract: Remove test flag from contract because of "unknown ke…
CRogos Jul 18, 2025
0a17bfb
[OU-FIX] contract: migration scripts
MiquelRForgeFlow Jul 28, 2025
65e47e4
[IMP] Contract line: compute display name
qgroulard Aug 4, 2025
b162c66
Translated using Weblate (Swedish)
jakobkrabbe Aug 5, 2025
255366d
[FIX] contract.recurring_create_invoice: Add ensure_one
tobiaszehntner Sep 11, 2025
c147bb4
[IMP] contract: skip assignment when value unchanged to avoid trigger…
sbejaoui Sep 23, 2025
ecbbdd8
[FIX] contract: automatic pricing should resptect pricelist quantity-…
RicardCForgeFlow Nov 19, 2025
666f4df
[18.0][IMP] contract: hook for line is invoiceable
tobiaszehntner Nov 18, 2025
8fbc8ed
[IMP] contract: compute group_id based on analytic accounts in contra…
carlos-lopez-tecnativa Oct 2, 2025
118be9d
[IMP] contract: store additional fields for analysis purposes
carlos-lopez-tecnativa Nov 24, 2025
8cb1e26
[IMP] contract: enhance search filters and add a pivot view for contr…
carlos-lopez-tecnativa Nov 24, 2025
f133b55
[FIX] contract: Avoid the error when accessing the portal if the user…
victoralmau Nov 28, 2025
1bdd848
[FIX] contract: Visual hint for cancelled lines in portal
pedrobaeza Dec 6, 2025
a678040
[REF] split contract module into: contract, contract_line_successor, …
sbejaoui Apr 16, 2025
ef51018
[UPD] Update contract_termination.pot
Jun 4, 2025
4824fdb
[BOT] post-merge updates
OCA-git-bot Jun 4, 2025
e972e64
Added translation using Weblate (Italian)
mymage Jun 5, 2025
a70fd03
Added translation using Weblate (Portuguese (Brazil))
marcelsavegnago Jun 27, 2025
0fefbd3
Added translation using Weblate (Swedish)
jakobkrabbe Jul 4, 2025
a1ae0ef
Added translation using Weblate (Turkish)
bo-eska Jul 14, 2025
28692f1
Translated using Weblate (Turkish)
bo-eska Jul 14, 2025
0ff5d0a
Translated using Weblate (Swedish)
jakobkrabbe Aug 5, 2025
df19c69
Added translation using Weblate (Dutch)
bosd Dec 29, 2025
d6e73eb
[REF] split contract module into: contract, contract_line_successor, …
sbejaoui Apr 16, 2025
1e58e8b
[UPD] Update contract_line_successor.pot
Jun 4, 2025
7076854
[BOT] post-merge updates
OCA-git-bot Jun 4, 2025
f364189
Added translation using Weblate (Italian)
mymage Jun 5, 2025
06f9ca1
[FIX] contract_line_succesor: use parent.is_auto_renew to avoid EvalE…
Anxo82 Jun 16, 2025
097f2b6
Added translation using Weblate (Portuguese (Brazil))
marcelsavegnago Jun 27, 2025
03cd7da
[UPD] Update contract_line_successor.pot
Jun 30, 2025
cedd5b2
Translated using Weblate (Italian)
mymage Jul 1, 2025
0c6ac3e
Added translation using Weblate (Swedish)
jakobkrabbe Jul 4, 2025
7f23098
Added translation using Weblate (Turkish)
bo-eska Jul 11, 2025
163d907
Translated using Weblate (Turkish)
bo-eska Jul 11, 2025
4d7ed99
Translated using Weblate (Swedish)
jakobkrabbe Aug 5, 2025
15fdf84
[IMP] contract_line_successor: pre-commit execution
bosd Dec 29, 2025
4f66e24
[MIG] contract_line_successor: Migration to 19.0
bosd Dec 29, 2025
361a5df
[do not merge]
bosd Dec 29, 2025
dbf40bb
[MIG] contract_termination: Migration to 19.0
bosd Dec 29, 2025
d03b7ad
[test requirements do not merge]
bosd Dec 29, 2025
beba744
[IMP] contract: add paths to actions
marielejeune Dec 5, 2025
d82be2b
[FIX] contract: Use another condition for forcingn a failure
etobella Jan 12, 2026
8b19234
[18.0][IMP] contract: Improve contract lines view with section/note s…
cristina-hidalgo-tecnativa Jan 21, 2026
e985670
[IMP] contract: pre-commit auto fixes
BhaveshHeliconia Oct 1, 2025
e44b8f7
[MIG] contract: Migration to 19.0
BhaveshHeliconia Oct 1, 2025
495086f
[MIG] mig module to odoo 19 version
stferraro Jan 31, 2026
3cb2fe4
[MIG] contract-termination
stferraro Feb 2, 2026
0f2e43a
[FIX] fixed test
stferraro Feb 2, 2026
5e49d64
Merge pull request #1 from Jenrax-git/19.0-mig-contract-fixed
stferraro Feb 2, 2026
b088c2b
Merge pull request #4 from Jenrax-git/19.0-mig-contract_line_successor
stferraro Feb 2, 2026
911bfe1
Merge branch '19.0' into 19.0-mig-contract_termination
stferraro Feb 2, 2026
f0eef8a
Merge pull request #2 from Jenrax-git/19.0-mig-contract_termination
stferraro Feb 2, 2026
7db361a
[ADD] product_contract: Create module
Jan 12, 2017
7ed1ed1
[FIX] product_contract: Fix mock usage in tests
lasley May 26, 2017
aa57664
[FIX] contract_sale_generation: it doesn't create sales (#141)
flotho Apr 1, 2018
df62943
[MIG] - Product Contract Migration to 12.0
sbejaoui Oct 31, 2018
bda3995
[IMP] - Product with is_contract can be only of type service
sbejaoui Oct 31, 2018
2fb6fe2
[IMP] - Change dependencies to contract_sale
sbejaoui Oct 31, 2018
3a4fa6e
[IMP] - Add recurrence fields to product template and sale order line
sbejaoui Oct 31, 2018
0a77a71
[IMP] - Create contract on sale order confirmation
sbejaoui Nov 2, 2018
c6c56ff
[IMP] - Link contract line to sale order line
sbejaoui Nov 2, 2018
e315158
[FIX] - Remove recurring_next_date from sale order line
sbejaoui Nov 2, 2018
e33eb1a
[IMP] - Contract product are ignored on invoicing process
sbejaoui Nov 5, 2018
62546ea
[FIX] - Default value for date_start applied on product change
sbejaoui Nov 5, 2018
df4ea17
[ADD] - Add readme directory
sbejaoui Nov 5, 2018
9aae25d
[IMP] - Onchange contract product on contract contract and contract t…
sbejaoui Nov 5, 2018
f7a5a6d
[FIX] - Change website to OCA repository url and prefix module name w…
sbejaoui Nov 5, 2018
a99f1a2
[FIX] - Compute recurring_next_date before create contract line
sbejaoui Nov 5, 2018
b46e5af
[IMP] - Upsell/Downsell contract from sale order
sbejaoui Nov 15, 2018
ea585f5
[ADD] - Add renewal process with termination notice
sbejaoui Nov 19, 2018
83f8927
[IMP] - compute date end onchange date start for auto-renew sale orde…
sbejaoui Nov 19, 2018
caf73f1
[IMP] - link contract line and its successor in upsel case
sbejaoui Nov 26, 2018
1dbee73
[FIX] - on upsel, contract line should stop day - 1
sbejaoui Nov 28, 2018
cc339d5
[FIX] - fix onchange
sbejaoui Nov 29, 2018
d5dfbc9
[IMP] - hide recurring_invoicing_type if recurring_rule_type is month…
sbejaoui Nov 29, 2018
bb047f8
[FIX] - include date_end in the period if the product is_autorenew
sbejaoui Nov 30, 2018
dbcadd9
[IMP] - _prepare_contract_value for sale order confirm
sbejaoui Dec 3, 2018
1730d41
[REM] - Remove unused method
sbejaoui Dec 4, 2018
d81201b
[IMP] - get contract user from sale order user
sbejaoui Dec 13, 2018
b629517
[IMP] - show related sale orders in contract form
sbejaoui Dec 14, 2018
ef8ce3a
[REF] Contract Product: invoice in prepare_invoice_line is optional
ThomasBinsfeld Dec 18, 2018
506b805
[FIX] - fix flake8
sbejaoui Dec 20, 2018
5d7d8e3
[ADD] Product Contract: payment term
ThomasBinsfeld Dec 21, 2018
8330322
[IMP] - update invoice_line vals only if it is not null
sbejaoui Dec 28, 2018
8648ce5
[FIX] - fix unit tests
sbejaoui Jan 3, 2019
e0b9e9c
[IMP] - Add unit test
sbejaoui Jan 10, 2019
5ebb828
[REF] - predecessor_contract_line set in create process
sbejaoui Jan 15, 2019
e9f9e3f
[IMP] - Simplify sale order line creation for contract product
sbejaoui Jan 21, 2019
697d42c
[ADD] Contract Sale: fiscal position
ThomasBinsfeld Jan 23, 2019
b24d2c0
[IMP] - auto_renew_rule deducted from recurring_rule_type and product…
sbejaoui Jan 24, 2019
5307849
[FIX] Product Contract: copy invoicing partner to created contract
ThomasBinsfeld Jan 29, 2019
b3d80bb
[FIX] - Fix recurring_next_date
sbejaoui Jan 29, 2019
4e9a5b8
[FIX] - date_end required only for contract product
sbejaoui Jan 29, 2019
b311d5d
[FIX] - Get auto_renew_rule_type based on recurring_rule_type
sbejaoui Feb 1, 2019
efe5703
[IMP] - cancel contract line if the downsell/upsell comes before
sbejaoui Feb 4, 2019
179009d
[FIX] - date_end computed only for contract products
sbejaoui Feb 6, 2019
de7bdde
[REF] Contract: set order count to 0 if no access to orders
ThomasBinsfeld Feb 13, 2019
d3e8c35
[IMP] - permit contract selection without contract_template_id
sbejaoui Feb 28, 2019
4883ce9
[ADD] Add start_date to contract_line display_name
qgroulard Sep 2, 2019
bf0acac
[12.0][IMP] - option to decide if we automaticallt create contract a …
sbejaoui Sep 5, 2019
4bc76bc
[FIX] - fix display name compute dependecy
sbejaoui Sep 5, 2019
6a3969e
[12.0][FIX] - create contract only on sale and done states
sbejaoui Sep 11, 2019
3838d52
[12.0][REF] - Split analytic accouts and contracts
sbejaoui Sep 17, 2019
516d6d0
[12.0][IMP] - Improve unit tests
sbejaoui Sep 30, 2019
e7e77bf
[IMP] - improve is contract visibility in product view
sbejaoui Sep 30, 2019
14e2cdb
[12.0][IMP] - sale line linked to contracts must not be invoiced from…
sbejaoui Oct 1, 2019
8c38b7e
[UPD] README.rst
OCA-git-bot Oct 1, 2019
8a3f37c
[ADD] icon.png
OCA-git-bot Oct 1, 2019
bbdb8a6
[FIX] - Remove deprecated field
sbejaoui Oct 1, 2019
05bec4d
[12.0][FIX] - contract company must be the same as the sale order
sbejaoui Oct 28, 2019
fd2fe8d
[12.0][FIX] - Run onchange contract_type when changing the contract t…
sbejaoui Nov 26, 2019
0120de4
[IMP] contract: support pre-paid for monthlylastday
sbidoul Dec 8, 2019
b083e0e
[IMP] - Set recurring_invoicing_type for existing products set to mon…
sbejaoui Dec 9, 2019
f394bd8
[12.0][FIX] - Set contract line analytic account at contract creation…
sbejaoui Dec 30, 2019
730ebb6
[IMP] contract: remove redundant method
pedrobaeza Jan 8, 2020
22794d1
[FIX]contract_count == len(active contracts)
Feb 5, 2020
7d8a53d
[12.0][ADD] - add auto_renew_interval, auto_renew_rule_type fields to…
sbejaoui Feb 17, 2020
34ceccf
[IMP] - Improve UX, open contract form if the sale order is related t…
sbejaoui Feb 25, 2020
78e98f9
[FIX] product_contract: set 'Contract template' field company depend
Feb 11, 2020
544f5f1
[FIX] contract_sale_mandate: use property_contract_template_id
Feb 26, 2020
bf56b74
[UPD] README.rst
OCA-git-bot Mar 9, 2020
4286c72
[IMP] - can't upsell or downsell a resiliated contract
sbejaoui Jan 30, 2020
18117b4
[IMP] - use terminate term instead of resiliate
sbejaoui Mar 10, 2020
65d42a8
[12.0][IMP] - Add failing test for creating contract grouped by contr…
sbejaoui Mar 17, 2020
d2551bc
[12.0][FIX] - fix contract creation group by contract template
sbejaoui Mar 17, 2020
a7c12e0
[FIX] migration from 11.0
sergiocorato Mar 24, 2020
e7b83d7
[UPD] README.rst
OCA-git-bot Mar 25, 2020
c92a41f
[UPD] README.rst
OCA-git-bot Mar 25, 2020
2dba89c
[IMP] - Contract: add new recurring_rule_type quarterly and semesterly
sbejaoui Apr 14, 2020
0441638
[13.0][MIG] - migration product_contract
sbejaoui Oct 24, 2020
99f6e42
[IMP] product_contract: black, isort, prettier
mourad-ehm Nov 12, 2021
9d73691
[MIG] product_contract: Migration to 14.0
mourad-ehm Mar 9, 2021
0462292
[IMP] product_contract: use _compute_display_name. Moved it to contra…
ilyasProgrammer Mar 21, 2023
38d053a
[IMP] product_contract: code improvements
ilyasProgrammer Mar 22, 2023
bcd0181
[UPD] README.rst
OCA-git-bot Apr 12, 2023
90d448e
[IMP] product_contract: pre-commit stuff
Rad0van Apr 29, 2023
6e84941
[MIG] product_contract: Migration to 16.0
Rad0van Jun 8, 2023
131120c
[IMP] product_contract: pre-commit auto fixes
jaenbox May 7, 2024
466860e
[MIG] product_contract: Migration to 17.0
jaenbox May 7, 2024
9e34f8f
[IMP] product_contract: contract quantity same quantity of order
jaenbox May 8, 2024
508db80
[IMP] product_contract: Add contract configurator instead of making t…
CarlosRoca13 Aug 26, 2024
340c15e
[IMP] product_contract: Add posibility to compute date_start of line …
CarlosRoca13 Aug 29, 2024
252a798
[18.0][MIG] product_contract
sbejaoui Nov 4, 2024
53927fa
[IMP] product_contract: add contract duraction to contract product se…
sbejaoui Nov 15, 2024
c91d33f
[IMP][REF] product_contract: rename product contract default_qty fiel…
sbejaoui Apr 21, 2025
ed08104
[IMP] product_contract: clean UI & improve UX
sbejaoui Apr 21, 2025
a47e35a
[REF] product_contract: refactor ProductContractConfigurator for bett…
sbejaoui Apr 21, 2025
a31b661
[IMP] contract and product_contract: pre-commit auto fixes
Anxo82 Jun 16, 2025
2e53cdd
[18.0][FIX] product_contract: add missing fields to JS
tobiaszehntner Jul 3, 2025
6d49a14
[IMP] product_contract - non contract sale order lines should not hav…
baimont Jul 18, 2025
8e00f5a
[FIX] product_contract: divide contract configuration button
bo-eska Aug 14, 2025
583db54
[IMP] product_contract:seperate function for line name formatting
bjouini-acsone Aug 13, 2025
f353350
[FIX] product_contract: set contract_type for contracts created from …
sbejaoui Sep 23, 2025
9a2632f
[OU-ADD] product_contract: Migration scripts
victoralmau Oct 27, 2025
bb3d3e6
[IMP] product_contract: Allow creating sales orders with lines that l…
carlos-lopez-tecnativa Jan 21, 2025
4c893fb
[IMP] product_contract: pre-commit execution
bosd Dec 29, 2025
7acce65
[MIG] product_contract: Migration to 19.0
bosd Dec 29, 2025
6b89b38
Fixups
Jan 2, 2026
9b1153e
[FIX] fixed conflicts
stferraro Feb 2, 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
47 changes: 2 additions & 45 deletions .pylintrc
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@


[MASTER]
load-plugins=pylint_odoo
score=n

[ODOOLINT]
readme-template-url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
readme-template-url=https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst
manifest-required-authors=Odoo Community Association (OCA)
manifest-required-keys=license
manifest-deprecated-keys=description,active
Expand All @@ -15,13 +13,7 @@ valid-odoo-versions=19.0
[MESSAGES CONTROL]
disable=all

# This .pylintrc contains optional AND mandatory checks and is meant to be
# loaded in an IDE to have it check everything, in the hope this will make
# optional checks more visible to contributors who otherwise never look at a
# green travis to see optional checks that failed.
# .pylintrc-mandatory containing only mandatory checks is used the pre-commit
# config as a blocking check.

# Habilitamos solo mensajes válidos reconocidos por pylint + pylint-odoo
enable=anomalous-backslash-in-string,
assignment-from-none,
attribute-deprecated,
Expand Down Expand Up @@ -55,33 +47,13 @@ enable=anomalous-backslash-in-string,
consider-merging-classes-inherited,
context-overridden,
except-pass,
invalid-commit,
manifest-maintainers-list,
missing-readme,
missing-return,
odoo-addons-relative-import,
renamed-field-parameter,
resource-not-exist,
test-folder-imported,
translation-contains-variable,
translation-positional-used,
website-manifest-key-not-valid-uri,
external-request-timeout,
bad-builtin-groupby,
category-allowed,
deprecated-name-get,
deprecated-odoo-model-method,
inheritable-method-lambda,
inheritable-method-string,
invalid-email,
manifest-behind-migrations,
manifest-data-duplicated,
missing-odoo-file,
no-raise-unlink,
no-search-all,
no-wizard-in-models,
prohibited-method-override,
prefer-env-translation,
translation-format-interpolation,
translation-format-truncated,
translation-fstring-interpolation,
Expand All @@ -90,25 +62,10 @@ enable=anomalous-backslash-in-string,
translation-too-many-args,
translation-unsupported-format,
no-write-in-compute,
# messages that do not cause the lint step to fail
consider-merging-classes-inherited,
create-user-wo-reset-password,
dangerous-filter-wo-user,
deprecated-module,
file-not-used,
invalid-commit,
missing-manifest-dependency,
missing-newline-extrafiles,
missing-readme,
no-utf8-coding-comment,
odoo-addons-relative-import,
old-api7-method-defined,
redefined-builtin,
too-complex,
unnecessary-utf8-coding-comment,
manifest-external-assets


[REPORTS]
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
output-format=colorized
Expand Down
180 changes: 180 additions & 0 deletions contract/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

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

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

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |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
: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
: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 enables contracts management with recurring invoicing
functions. Also you can print and send by email contract report.

It works for customer contract and supplier contracts.

Contracts are shown in portal.

**Table of contents**

.. contents::
:local:

Configuration
=============

To view discount field in contract line, you need to set *Discount on
lines* in user access rights.

Contracts can be viewed on the portal (list and detail) if the user
logged into the portal is a follower of the contract.

Usage
=====

1. Contracts are in Invoicing -> Customers -> Customer and Invoicing ->
Vendors -> Supplier Contracts
2. When creating a contract, fill fields for selecting the invoicing
parameters:

- a journal
- a price list (optional)

3. And add the lines to be invoiced with:

- the product with a description, a quantity and a price
- the recurrence parameters: interval (days, weeks, months, months
last day or years), start date, date of next invoice (automatically
computed, can be modified) and end date (optional)
- auto-price, for having a price automatically obtained from the
price list
- #START# - #END# or #INVOICEMONTHNAME# in the description field to
display the start/end date or the start month of the invoiced
period in the invoice line description
- pre-paid (invoice at period start) or post-paid (invoice at start
of next period)

4. The "Generate Recurring Invoices from Contracts" cron runs daily to
generate the invoices. If you are in debug mode, you can click on the
invoice creation button.
5. The *Show recurring invoices* shortcut on contracts shows all
invoices created from the contract.
6. The contract report can be printed from the Print menu
7. The contract can be sent by email with the *Send by Email* button
8. Contract templates can be created from the Configuration -> Contracts
-> Contract Templates menu. They allow to define default journal,
price list and lines when creating a contract. To use it, just select
the template on the contract and fields will be filled automatically.

- Contracts appear in portal to following users in every contract:

|image|

|image1|

|image2|

.. |image| image:: https://raw.githubusercontent.com/OCA/contract/19.0/contract/static/src/screenshots/portal-my.png
.. |image1| image:: https://raw.githubusercontent.com/OCA/contract/19.0/contract/static/src/screenshots/portal-list.png
.. |image2| image:: https://raw.githubusercontent.com/OCA/contract/19.0/contract/static/src/screenshots/portal-detail.png

Known issues / Roadmap
======================

- Recover states and others functional fields in Contracts.
- Add recurrence flag at template level.

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%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
-------

* Tecnativa
* ACSONE SA/NV

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

- Angel Moya <angel.moya@domatix.com>

- Dave Lasley <dave@laslabs.com>

- Miquel Raïch <miquel.raich@eficent.com>

- Souheil Bejaoui <souheil.bejaoui@acsone.eu>

- Thomas Binsfeld <thomas.binsfeld@acsone.eu>

- Guillaume Vandamme <guillaume.vandamme@acsone.eu>

- Raphaël Reverdy <raphael.reverdy@akretion.com>

- `Tecnativa <https://www.tecnativa.com>`__:

- Pedro M. Baeza
- Carlos Dauden
- Vicent Cubells
- Rafael Blasco
- Víctor Martínez

- Iván Antón <ozono@ozonomultimedia.com>

- `APSL <https://www.apsl.tech>`__:

- Antoni Marroig <amarroig@apsl.net>

- `Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>`__

- Bhavesh Heliconia

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>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions contract/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import controllers
from . import models
from . import wizards
48 changes: 48 additions & 0 deletions contract/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Copyright 2004-2010 OpenERP SA
# Copyright 2014-2018 Tecnativa - Pedro M. Baeza
# Copyright 2015 Domatix
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# Copyright 2017 Tecnativa - Vicent Cubells
# Copyright 2016-2017 LasLabs Inc.
# Copyright 2018-2019 ACSONE SA/NV
# Copyright 2020-2021 Tecnativa - Pedro M. Baeza
# Copyright 2020 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).


{
"name": "Recurring - Contracts Management",
"version": "19.0.1.0.0",
"category": "Contract Management",
"license": "AGPL-3",
"author": "Tecnativa, ACSONE SA/NV, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/contract",
"depends": ["base", "account", "product", "portal"],
"development_status": "Production/Stable",
"data": [
"security/contract_tag.xml",
"security/ir.model.access.csv",
"security/contract_security.xml",
"report/report_contract.xml",
"report/contract_views.xml",
"data/contract_cron.xml",
"data/mail_template.xml",
"data/template_mail_notification.xml",
"data/mail_message_subtype.xml",
"data/ir_ui_menu.xml",
"views/contract_tag.xml",
"views/contract_template.xml",
"views/contract_template_line.xml",
"views/contract.xml",
"views/contract_line.xml",
"views/res_partner_view.xml",
"views/res_config_settings.xml",
"views/contract_portal_templates.xml",
"wizards/contract_manually_create_invoice.xml",
],
"assets": {
"web.assets_frontend": ["contract/static/src/scss/frontend.scss"],
"web.assets_tests": ["contract/static/src/js/contract_portal_tour.esm.js"],
},
"installable": True,
}
3 changes: 3 additions & 0 deletions contract/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import main
Loading
Loading