contract icon indicating copy to clipboard operation
contract copied to clipboard

Migration to version 13.0

Open OCA-git-bot opened this issue 6 years ago • 44 comments

Todo

https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-13.0

Modules to migrate

  • [ ] agreement --> base_contract - by @newtratip -
  • [ ] agreement_legal_sale --> contract_legal_sale
  • [x] agreement_maintenance - By @olgamarcocb - #762
  • [ ] agreement_mrp --> contract_mrp
  • [ ] agreement_project --> contract_project
  • [ ] agreement_repair --> contract_repair
  • [ ] agreement_sale --> contract_legal
  • [ ] agreement_serviceprofile --> contract_service
  • [ ] agreement_stock --> contract_stock
  • [x] contract - By @pedrobaeza - #533
  • [x] contract_layout_category_hide_detail - By @victoralmau - #554
  • [x] contract_mandate - By @Willerr-mo - #559
  • [x] contract_payment_mode - By @Willerr-mo - #558
  • [x] contract_price_revision - By @rousseldenis - #864
  • [x] contract_sale - By @victoralmau - #555
  • [ ] contract_sale_generation - By @marionumza - #863
  • [ ] contract_sale_invoicing - By @dantiller2 - #842
  • [x] contract_variable_qty - By @CarlosRoca13 - #567
  • [x] contract_variable_qty_timesheet - By @flachica - #580
  • [x] product_contract - By @sbejaoui - #561

Missing module? Check https://github.com/OCA/maintainer-tools/wiki/%5BFAQ%5D-Missing-modules-in-migration-issue-list

OCA-git-bot avatar Sep 29 '19 21:09 OCA-git-bot

I'm working on agreement

newtratip avatar Sep 30 '19 10:09 newtratip

Hello @newtratip

Beware that we are discussing converging contract and agreement in version 13 to have a complete solution with recurring invoices, integration with operations and legal content management.

Please open a specific issue if the migration of contract and contract_sale is not clear and needs to be discussed further.

CC: @alexis-via @sbejaoui

max3903 avatar Sep 30 '19 11:09 max3903

ok

newtratip avatar Sep 30 '19 12:09 newtratip

@max3903

Beware that we are discussing converging contract and agreement in version 13 to have a complete solution with recurring invoices, integration with operations and legal content management.

Hello, can you point me to this discussion? I have some interest in this with the work about service level agreement / terms and conditions (and this is related to #397 and #398 and the work I initiated on #396 for 12.0 and for which I need a migration path to 13.0)

cc @alexis-via @sbejaoui @i-vyshnevska

gurneyalex avatar Oct 17 '19 07:10 gurneyalex

@gurneyalex The discussion happened during the OCA Days in LLN. The result of the discussion is the description of this issue (renaming/merging modules).

max3903 avatar Oct 17 '19 13:10 max3903

thanks

gurneyalex avatar Oct 22 '19 09:10 gurneyalex

I personally generally agree with the idea of converging contract and agreement, as briefly discussed in LLN. The details on how to do this are far from clear in my mind, though. Would it be worth fleshing out the plan a little bit?

A few notes:

  • the contract name is inherited from Odoo <= 8, IIRC
  • the contract module it is almost exclusively focusing on recurring invoicing.
  • a recurring invoicing "contract" is certainly a kind of agreement, or rather we can see recurring invoicing as something that some type of agreements can require
  • most of the recurring invoicing logic of contract is based on contract lines, fields currently on the contract mostly influence the invoice header (invoicing contact, payment term, mandate and so on).

I'm not sure about renaming agreement to base_contract, because agreement sounds as a more generic term that may be a better fit for the polymorphic beast it becomes. So an alternative approach could be rename contract to agreement_recurring_invoicing, with the purpose of adding recurring invoicing logic to the agreement object?

More difficult questions can probably arise if we start thinking about the relationship between sale order and contract / agreement (currently in module product_contract for recurring invoicing). Also do agreement have lines? If yes what is an agreement line exactly? What is the relationship between an agreement line and a recurring invoicing line, if any (probably not a 1-1)? ...

sbidoul avatar Oct 24 '19 11:10 sbidoul

My understanding of the different use cases and a proposal of module name:

@alexis-via needs an object with a name --> base_contract Some people needs a little more info than just a name --> contract @ygol and I needs the legal content management --> contract_legal @sbidoul and @sbejaoui need the recurring invoicing --> contract_account @gurneyalex and I need integrations with the other Odoo modules --> contract_sale, contract_stock, contract_service, etc.

max3903 avatar Oct 24 '19 13:10 max3903

Another use case is the use of "framework contract" which is an extension of agreement_legal (possibly), where prices and/or cost are set depending on being within/outside of the contract

ygol avatar Oct 24 '19 14:10 ygol

Since contract no more depends of analytic, I'm agreed with @sbidoul. He has my agreement to go on with contract only ;-)

It seems than @alexis-via needs is just above than just the name https://github.com/OCA/contract/pull/144 ;-)

rrrrrrrrrr

bealdav avatar Oct 24 '19 14:10 bealdav

@sbidoul

So an alternative approach could be rename contract to agreement_recurring_invoicing, with the purpose of adding recurring invoicing logic to the agreement object?

I proposed contract because the name is shorter than agreement and I am lazy :)

Also do agreement have lines?

Yes

If yes what is an agreement line exactly?

A pseudo copy of the sale order line that were sold: it only has product and quantity

What is the relationship between an agreement line and a recurring invoicing line, if any (probably not a 1-1)?

There is no relationship yet. Agreement does NOT support recurring invoicing.

max3903 avatar Oct 24 '19 14:10 max3903

@sbidoul @bealdav @gurneyalex

What do you think of:

Requirements Module Name
Name, Code, Partner, Date base_contract
Contract lines contract
Legal content management contract_legal
Recurring invoicing from contract lines contract_account
Integrations with other Odoo modules contract_sale, contract_stock, contract_service, etc.

max3903 avatar Oct 24 '19 14:10 max3903

I'm not sure about renaming agreement to base_contract, because agreement sounds as a more generic term that may be a better fit for the polymorphic beast it becomes

+ 1

You may have agreement.line depending of a company setting activated by default in agreement module

bealdav avatar Oct 24 '19 15:10 bealdav

@sbidoul @bealdav @gurneyalex @ygol

Requirements Module Name
Name, Code, Partner, Date, Agreement Lines (only shown if you are in a specific group) agreement
Legal content management agreement_legal
Recurring invoicing from contract lines agreement_account
Integrations with other Odoo modules agreement_sale, agreement_stock, agreement_service, etc.

max3903 avatar Oct 24 '19 15:10 max3903

Do agreement_account necessarily mean recurring invoicing? I kind of remember @alexis-via had other requirement wrt to the invoice / agreement relationship.

Regarding lines, I'm not sure at all it is possible to conflate generic agreement lines with lines used for the purpose of recurring invoicing. (note I don't know use cases for generic agreement lines).

If yes what is an agreement line exactly?

A pseudo copy of the sale order line that were sold: it only has product and quantity

Regarding agreement_sale, there is probably a difference between selling such "generic" agreement lines, and selling lines for the purpose of recurring invoicing (as done in product_contract).

It could be we need two sets of lines in agreement for different purposes. Which may or may not be a problem.

sbidoul avatar Oct 24 '19 15:10 sbidoul

Requirements Module Name
Name, Code, Partner, Date, Agreement Lines (only shown if you are in a specific group) agreement
Legal content management agreement_legal
Integration with Accounting agreement_account
Recurring invoicing from contract lines agreement_account_recurring_invoice
Integrations with other Odoo modules agreement_sale, agreement_stock, agreement_service, etc.

The agreement lines define the scope covered by the agreement, what you are supposed to provide. It could be inventory items or services.

max3903 avatar Oct 24 '19 15:10 max3903

not blocking but agreement_recurring_invoice is sufficient

Everybody know than invoice depends on account whatever accounting refactor ;-)

It's not ambiguous.

bealdav avatar Oct 24 '19 16:10 bealdav

Requirements Module Name
Name, Code, Partner, Date, Agreement Lines (only shown if you are in a specific group) agreement
Legal content management agreement_legal
Integration with Accounting agreement_account
Recurring invoicing from agreement lines agreement_recurring_invoice
Integrations with other Odoo modules agreement_sale, agreement_stock, agreement_service, etc.

max3903 avatar Oct 24 '19 16:10 max3903

Agreement vs contract; the difference is agreement is informal whereas contract is formal and legal.

https://www.diffen.com/difference/Agreement_vs_Contract

Recurring billing is mostly a consequence of a legal contract, thus "contract" sounds to be a better prefix to me.

samnimri avatar Oct 28 '19 10:10 samnimri

It's not a problem for me if the chosen word is contract.

Choose your according your preferences, thanks

bealdav avatar Nov 04 '19 16:11 bealdav

Hi! Any progress with this topic?

tsabi avatar Apr 05 '20 15:04 tsabi

Hi! Is there any update on the migration status of the contract module as we need the "Recurring - Contracts Management" for Odoo 13. Thanks

MattKoczy avatar Apr 28 '20 11:04 MattKoczy

To be a bit more specific about my needs:

  1. a contract object with at least a name, a code, a partner and a company. This is what we have in base_contract in PR #397 I don't need more on that point.
  2. a module that depend on account and add a M2O from invoice to the contract object
  3. a module that depend on sale and add a M2O from sale.order to the contract object and copies it from sale.order to invoice upon invoice generation.

Point 2 and 3 were implemented in the agreement modules of v10 and I re-introduced the feature in v12 with the modules agreement_account and agreement_sale in this PR https://github.com/OCA/contract/pull/520 I'll port these modules agreement_sale and agreement_account to v13. It you think I need to change the name of those modules, tell me now!

alexis-via avatar May 27 '20 09:05 alexis-via

base_contract depends on base. agreement_account depends on base_contract and account. Just don't install agreement_account.

alexis-via avatar May 27 '20 09:05 alexis-via

Hello Folks, may I kindly ask if there is a rough estimation, when the first release for v13 might be available? Need to plan if it's possible to wait or if we have to search for alternatives. Best Regards!

aschlager avatar Jul 30 '20 09:07 aschlager

@aschlager it depends also on you: if you review current PRs, you can check the state and approve it if it's everything OK for its final inclusion in the repo.

pedrobaeza avatar Jul 30 '20 12:07 pedrobaeza

I'm working on contract_layout_category_hide_detail https://github.com/OCA/contract/pull/554

victoralmau avatar Oct 16 '20 09:10 victoralmau

I'm working on contract_sale https://github.com/OCA/contract/pull/555

victoralmau avatar Oct 16 '20 10:10 victoralmau

contract_mandate #559

sbejaoui avatar Oct 25 '20 09:10 sbejaoui

contract_payment_mode #558

sbejaoui avatar Oct 25 '20 09:10 sbejaoui