Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIG] sale_order_invoicing_grouping_criteria: Migration to 15.0 #1114

Merged

Conversation

rven
Copy link
Contributor

@rven rven commented Mar 15, 2022

No description provided.

pedrobaeza and others added 24 commits March 15, 2022 08:54
…rouping criteria

This module allows to use custom criteria for grouping sales orders to be
invoiced.

Default criteria for grouping (invoicing partner and currency used) will be
always applied, as if not respected, there will be business inconsistencies,
but you can add more fields to split the invoicing according them.

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

For creating new grouping criteria:

1. Go to *Invoicing > Configuration > Management > Invoicing Grouping Criteria*.
2. Create or modify existing criteria, selecting fields belonging to "Sales
   Order" header model for grouping according them.
3. Invoicing address and currency will always be applied with the selected
   ones.

For setting a different grouping criteria for a specific customer:

1. Go to *Invoicing > Sales > Master Data > Customers*.
2. Open the desired customer.
3. Go to *Invoicing* page.
4. Set on "Sales Invoicing Grouping Criteria" the desired grouping
   criteria.

For setting a different default grouping criteria than the standard for the
whole company:

1. Go to *Invoicing > Configuration> Settings*.
2. Locate inside "Sales Order Invoicing" section, the field "Default
   Grouping Criteria".
3. Introduce there the grouping criteria to be applied by default. If empty,
   the general default of invoicing address + currency will be applied.

Usage
=====

1. Go to *Sales > Invoicing > Orders to Invoice*.
2. Select sales orders whose invoicing you want to do.
3. Click on *Action > Invoice Order*.
4. Click on "Create and View Invoices" button.
5. On that moment, the grouping criteria will be applied, and you will see
   different invoices if the criteria doesn't match for them.
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: account-invoicing-13.0/account-invoicing-13.0-sale_order_invoicing_grouping_criteria
Translate-URL: https://translation.odoo-community.org/projects/account-invoicing-13-0/account-invoicing-13-0-sale_order_invoicing_grouping_criteria/
Odoo now includes a hook for obtaining the grouping criteria, so we are making use
of it for cleaning some code and being compatible with other developments.

We also clarifies in documentation the new company grouping criteria also introduced
by Odoo, as v13 allows to see several companies at the same time.
…riteria, but slice super calls

It turns out that the grouping criteria is applied over the invoice vals dictionary
list instead on sales order so you can't group by any field in sales order,
including the trick of slicing by ID for not grouping at all.

We then restore and adapt the v12 code, that slices the recordset in pieces
according the grouping criteria with fields obtained in the sales orders.
- The partner to get the grouping criteria should be the invoice address (if set) as this one will be used to create the invoice;
- Extract this part into a function to have a overwritable point;
- Little improvement into unit test: disable tracking.
The function signature has changed in 14.0
@oca-clabot
Copy link

Hey @rven, thank you for your Pull Request.

It looks like some users haven't signed our Contributor License Agreement, yet.
You can read and sign our full Contributor License Agreement here: http://odoo-community.org/page/cla
Here is a list of the users:

Appreciation of efforts,
OCA CLAbot

@rven rven mentioned this pull request Mar 15, 2022
56 tasks
@HaraldPanten
Copy link

/ocabot migration sale_order_invoicing_grouping_criteria

@OCA-git-bot OCA-git-bot added this to the 15.0 milestone Mar 18, 2022
Copy link

@scaldewi scaldewi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
did a code review and a functional test in runbot

@pedrobaeza
Copy link
Member

/ocabot merge nobump

@OCA-git-bot
Copy link
Contributor

This PR looks fantastic, let's merge it!
Prepared branch 15.0-ocabot-merge-pr-1114-by-pedrobaeza-bump-nobump, awaiting test results.

OCA-git-bot added a commit that referenced this pull request Mar 28, 2022
Signed-off-by pedrobaeza
@OCA-git-bot
Copy link
Contributor

@pedrobaeza your merge command was aborted due to failed check(s), which you can inspect on this commit of 15.0-ocabot-merge-pr-1114-by-pedrobaeza-bump-nobump.

After fixing the problem, you can re-issue a merge command. Please refrain from merging manually as it will most probably make the target branch red.

@OCA-git-bot
Copy link
Contributor

This PR has the approved label and has been created more than 5 days ago. It should therefore be ready to merge by a maintainer (or a PSC member if the concerned addon has no declared maintainer). 🤖

@pedrobaeza
Copy link
Member

/ocabot merge nobump

@OCA-git-bot
Copy link
Contributor

On my way to merge this fine PR!
Prepared branch 15.0-ocabot-merge-pr-1114-by-pedrobaeza-bump-nobump, awaiting test results.

@OCA-git-bot OCA-git-bot merged commit 3407381 into OCA:15.0 Mar 28, 2022
@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at 4e75226. Thanks a lot for contributing to OCA. ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.