Skip to content

Conversation

Felicious
Copy link
Contributor

@Felicious Felicious commented Nov 22, 2024

Fix inaccuracies about visibility days explanation, with improved example and supportive imagery to visualize how the dates work together.

Changelog

  • restructure reordering rules documentation by pulling the section about how the replenishment report works into a new document
  • Elaborate more about preferred route + other advanced fields
  • Explain just-in-time logic
  • Explain how the Forecasted quantities are determined
  • Create custom visualizations for visibility days and forecasted date
  • Backport explanation about days to purchase (may run into merge conflicts when fwporting because of the internal links' naming scheme!)

FWport: to master

@Felicious Felicious added the 2 label Nov 22, 2024
@Felicious Felicious requested a review from crl-odoo November 22, 2024 01:38
@Felicious Felicious self-assigned this Nov 22, 2024
@robodoo
Copy link
Collaborator

robodoo commented Nov 22, 2024

Pull request status dashboard

@Felicious Felicious requested a review from hojo-odoo November 22, 2024 01:39
@C3POdoo C3POdoo requested a review from a team November 22, 2024 01:40
@Felicious Felicious marked this pull request as draft November 22, 2024 14:41
@Felicious
Copy link
Contributor Author

The BE expert reached out and told me there's still stuff for me to improve 🙈 I'll ping you on discord when this PR is ready, @hojo-odoo !

@Felicious Felicious marked this pull request as ready for review November 27, 2024 03:33
@Felicious Felicious force-pushed the 16.0-inventory-fix-visibility-days-feku branch from 3ac0dbd to e75a8dd Compare November 27, 2024 03:45
@Felicious
Copy link
Contributor Author

@Felicious Felicious force-pushed the 16.0-inventory-fix-visibility-days-feku branch from e75a8dd to 4fbb71e Compare January 8, 2025 02:44
@Felicious Felicious changed the title [IMP] inventory: fix visibility days [IMP] inventory: rework replenishment + visibility days Jan 8, 2025
@Felicious
Copy link
Contributor Author

Wanted to log here that I've received extensive help from Charlotte (crl), who in each review, provided a ton of feedback and resources to enhance our documentation. Based on her feedback, this PR grew and grew and touched more files, with the following reviews and dates:

  • Nov 21: first review explaining visibility days
  • Nov 22: major rework and restructure of reordering rules documentation. Exalidraw of feedback
  • Dec 21: major rework of replenishment, reporting, and reordering rules documentation. Exalidraw of feedback
  • Hopefully, with this update, this is the final review (:

@Felicious Felicious force-pushed the 16.0-inventory-fix-visibility-days-feku branch from 4fbb71e to 80b4362 Compare January 24, 2025 07:02
@Felicious
Copy link
Contributor Author

Finished another round of feedback from CRL: https://app.excalidraw.com/l/65VNwvy7c4X/6bfO4CXWwKr

@Felicious Felicious removed the request for review from hojo-odoo January 24, 2025 07:33
@Felicious
Copy link
Contributor Author

Hi @benderliz 😊 To try to help you gain exposure to replenishment through Odoo, can I get your help reviewing this reallyy massive PR? There are four documents that were changed:

  • replenishment.rst
  • replenishment/lead_times.rst
  • replenishment/reordering_rules.rst (this is the one that changed the most!)
  • replenishment/report.rst (where I tried to dump excess stuff from reordering rules here, in a futile attempt to keep it lean)

I mostly need help with reordering_rules. Should I ask @hojo-odoo to help review lead_times.rst and replenishment.rst?

@Felicious Felicious force-pushed the 16.0-inventory-fix-visibility-days-feku branch 2 times, most recently from 72f8e0c to facaf62 Compare January 24, 2025 18:13
@Felicious Felicious changed the title [IMP] inventory: rework replenishment + visibility days [IMP] inventory: CRL - replenishment & visibility days Jan 24, 2025
Copy link
Contributor

@samueljlieber samueljlieber left a comment

Choose a reason for hiding this comment

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

Hi @Felicious! I just want to say thank you for all of your hard work on this massive PR to improve and clarify the varying replenishment options and configurations.

I've reviewed CRLs incredibly helpful excalidraws against the current state of your PR and everything is looking pretty good to me! I found a couple instances you may want to double check, as well as a couple technical things to fix, and of course some optional suggestions :)

Please note this is just another peer review, due to the size of this PR, please tag me again after @benderliz's review for a final tech review. Thank you! 🚀

@Felicious Felicious force-pushed the 16.0-inventory-fix-visibility-days-feku branch 2 times, most recently from 58e09f9 to d4c4ca5 Compare January 29, 2025 00:17
@Felicious
Copy link
Contributor Author

@benderliz Reminder to review this (:

Copy link
Contributor

@benderliz benderliz left a comment

Choose a reason for hiding this comment

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

Something happened and I can't see my comments...finishing review to see if they re-appear

Each triggers the creation or suggestion of a purchase order (PO) or manufacturing order (MO), with
the best choice depending on the business process.

.. cards::
Copy link
Contributor

Choose a reason for hiding this comment

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

This is such a cool UI feature, Felicia! Love this choice. I think I found an RST fix for making the column size of the cards more equal (in the runbot rendering, they're sized unequally).
I am thinking it's this width syntax. I would guess they should each be set to 33%? Here's the how-to article: https://sphinx-design.readthedocs.io/en/latest/cards.html

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I purposefully made reordering rules bigger because it's the most relevant doc of the three (:


- :guilabel:`Vendor`: When the selected :guilabel:`Preferred Route` is :guilabel:`Buy`, setting the
:guilabel:`Vendor` field to one of the multiple vendors on the vendor pricelist indicates to Odoo
that is the vendor to prioritize when making orders.
Copy link
Contributor

Choose a reason for hiding this comment

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

Be more explicit - if that is the vendor to prioritize, does Odoo automatically populate this vendor on POs then?


- :guilabel:`Bill of Materials`: When the :guilabel:`Preferred Route` is set to
:guilabel:`Manufacture`, and there are multiple |BoMs| in use, specifying the desired |BoM| in the
replenishment report prioritizes it for draft manufacturing orders triggered by reordering rules.
Copy link
Contributor

Choose a reason for hiding this comment

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

Same question - what does prioritizing mean in this context?


- :guilabel:`Procurement Group`: is a way to group related purchase or manufacturing orders that
are tied to fulfilling a specific demand, like a |SO| or a project. It helps organize and track
which orders are linked to a particular demand.
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure what is meant by "a particular demand".

Procurement groups link replenishment methods to demand, enabling smart buttons to appear when
using the :ref:`MTO route <inventory/warehouse_storage/mto-route>`.

.. figure:: reordering_rules/po-smartbutton.png
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't see the words 'Procurement Group' anywhere in this image. A little confused what I am looking at.

Copy link
Contributor

@benderliz benderliz left a comment

Choose a reason for hiding this comment

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

Finally done! Sorry I had to group these comments separately. (I hit a keystroke that made it look like I lost my previous comments, but I still saw the 'Finished your review' button, so I hit it to make sure they weren't lost.)

GREAT JOB, Felicia! There was a lot in this PR, and you handled it all very gracefully! After taking a look, this is fine to pass to technical review.

This is achieved using the :ref:`forecasted date <inventory/warehouses_storage/forecasted-date>`,
which determines when replenishment is necessary to avoid overstocking.

The :ref:`forecasted date <inventory/warehouses_storage/forecasted-date>` is the **earliest possible
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the ref could be deleted here, since it's included in the previous sentence.

date** to receive a product if the replenishment process starts immediately. It is calculated by
summing the lead times linked to the replenishment process, such as :ref:`vendor lead times
<inventory/management/purchase-lt>` and :ref:`purchasing delays
<inventory/management/purchase-security-lt>` for purchases, or manufacturing lead times for
Copy link
Contributor

Choose a reason for hiding this comment

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

Consider adding a :ref: for manufacturing lead times.

.. example::
A product has a manual reordering rule set to trigger when the stock level falls below four
units. The current on-hand quantity is ten units.
For a product with a 5-day total lead time and a sales order delivery date in 10 days, Odoo waits
Copy link
Contributor

Choose a reason for hiding this comment

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

Clear, easy-to-understand example!

The forecasted date is never pushed forward or extended; only if the stock at the forecasted date
arrives below the minimum threshold is when Odoo checks the extra visibility days.

Example where visibility days is triggered
Copy link
Contributor

Choose a reason for hiding this comment

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

This example is SO helpful! Great job!! Do you think it should be in an .. example:: block instead?

@Felicious Felicious force-pushed the 16.0-inventory-fix-visibility-days-feku branch from c8dac20 to 9ca2924 Compare January 31, 2025 01:11
@Felicious
Copy link
Contributor Author

HI @samueljlieber ! This PR is ready for tech review (:

Copy link
Contributor

@samueljlieber samueljlieber left a comment

Choose a reason for hiding this comment

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

Hi @Felicious! This PR looks great to me! Fantastic job on this huge lift. I have just a couple quick comments for your consideration, otherwise this is good to go! I anticipate a couple conflicts with the FWPs, so please let me know if you want any help resolving them. Thank you for your hard work! 🚀
.....
@robodoo delegate=Felicious

Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Liz Bender <92882399+benderliz@users.noreply.github.com>
@Felicious Felicious force-pushed the 16.0-inventory-fix-visibility-days-feku branch from 9adf17a to 5b3604f Compare February 5, 2025 02:18
@Felicious
Copy link
Contributor Author

@robodoo r+

robodoo pushed a commit that referenced this pull request Feb 5, 2025
closes #11444

Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Liz Bender <92882399+benderliz@users.noreply.github.com>
@robodoo robodoo closed this Feb 5, 2025
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.

4 participants