Skip to content

Conversation

@chga-odoo
Copy link
Contributor

Odoo for Vineyard

Streamline your entire vineyard operation with this all-in-one management solution. From planting and harvest to wine aging, blending, and final sale, this package ensures total control over your production and team, so you can focus on quality and profitability.

Basics

  • Track leads and close deals with the CRM App
  • Sell remotely with the Website App eCommerce Module
  • Handle operations on your vineyard from the Field Service App
  • Manage pressing and blending with the Manufacturing App
  • Keep track of quality controls with the Quality App
  • Iterate on your blends and recipes with the PLM App
  • Organize Winery Tours with Appointments App
  • Manage direct sales with the Point of Sale App

Task ID: 4965401

@robodoo
Copy link
Collaborator

robodoo commented Oct 14, 2025

Pull request status dashboard

<field name="copied" eval="True"/>
<field name="field_description">Harvest Location</field>
<field name="model_id" ref="stock.model_stock_location"/>
<field name="name">x_harvest_location</field>
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<field name="name">x_harvest_location</field>
<field name="name">x_is_harvest</field>

@chga-odoo chga-odoo force-pushed the 19.0-vineyard-chga branch 2 times, most recently from a7d5cc2 to 14a2bd6 Compare October 29, 2025 06:31
@chga-odoo chga-odoo force-pushed the 19.0-vineyard-chga branch 5 times, most recently from 15c6394 to 6ec9ed6 Compare October 31, 2025 06:38
@chga-odoo chga-odoo force-pushed the 19.0-vineyard-chga branch 2 times, most recently from d92e062 to 7c8d33c Compare November 3, 2025 12:53
@chga-odoo chga-odoo force-pushed the 19.0-vineyard-chga branch 7 times, most recently from 2f16b03 to 92797aa Compare November 10, 2025 12:21
@chga-odoo chga-odoo force-pushed the 19.0-vineyard-chga branch 3 times, most recently from 122fff5 to 60205b5 Compare November 11, 2025 09:24
Copy link
Contributor

@pgu-odoo pgu-odoo left a comment

Choose a reason for hiding this comment

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

it is still in review.

Comment on lines 6 to 21
Copy link
Contributor

Choose a reason for hiding this comment

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

clean the dependency. web_studio is already in depends of excise_management

Copy link
Contributor Author

Choose a reason for hiding this comment

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

got warning on runbot: 'web_studio' is missing in the dependencies. (

_logger.warning("'web_studio' is missing in the dependencies.")
)
even its depends of excise_management
@vava-odoo

Copy link
Collaborator

Choose a reason for hiding this comment

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

For web_studio, I prefer to remain explicit in the dependency list.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change

Comment on lines 18 to 22
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
for ml in picking.move_line_ids.filtered(lambda line: line.product_id and line.product_id.tracking == 'lot' and not line.lot_id):

can you improve like this?

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<field name="model">x_project_task_worksheet_template_1</field>

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The same model is imported from industry_fsm_report with same name, fields and rules.
So still i need to create model here in this module?

Copy link
Contributor

Choose a reason for hiding this comment

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

improve the id please 😃

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<field name="domain_force"><[]></field>

will be also fine.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<h1><span class="display-4-fs"><strong>Vineyard</strong></span></h1>

'appointment_hr',
'base_industry_data',
'excise_management',
'hr_sign',
Copy link
Contributor

Choose a reason for hiding this comment

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

We don't need sign

'author': 'Odoo S.A.',
'depends': [
'appointment_crm',
'appointment_google_calendar',
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
'appointment_google_calendar',

'depends': [
'appointment_crm',
'appointment_google_calendar',
'appointment_hr',
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
'appointment_hr',

Comment on lines 13 to 21
'industry_fsm_sale_report',
'knowledge',
'mrp_plm',
'pos_enterprise',
'product_expiry',
'project_purchase',
'quality_mrp',
'sale_planning',
'website_appointment_sale_project',
Copy link
Contributor

Choose a reason for hiding this comment

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

can you please clean the dependency

Copy link
Contributor

Choose a reason for hiding this comment

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

why it is in data ?

Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need this 🤔

<odoo noupdate="1">
<record id="product_supplierinfo_3" model="product.supplierinfo">
<field name="partner_id" ref="base_industry_data.res_partner_35"/>
<field name="product_tmpl_id" ref="product_template_31"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove this from whole file as you are already defining product_id

<record id="quality_point_8" model="quality.point">
<field name="title">Sensory Evaluation</field>
<field name="product_category_ids" eval="[(6, 0, [ref('product_category_8')])]"/>
<field name="note"><![CDATA[<h1>Wine Sensory Evaluation</h1><h2><strong>1. Appearance</strong></h2><table class="table table-bordered"><thead><tr><th>Attribute</th><th>Score (0–5)</th><th>Notes</th></tr></thead><tbody><tr><td>Color intensity</td><td><br></td><td><br></td></tr><tr><td>Hue / rim variation</td><td><br></td><td><br></td></tr><tr><td>Clarity / brilliance</td><td><br></td><td><br></td></tr></tbody></table><h2><strong>2. Nose / Aroma</strong></h2><table class="table table-bordered"><thead><tr><th>Attribute</th><th>Score (0–5)</th><th>Notes</th></tr></thead><tbody><tr><td>Red fruit</td><td><br></td><td><br></td></tr><tr><td>Dark fruit</td><td><br></td><td><br></td></tr><tr><td>Floral / herb</td><td><br></td><td><br></td></tr><tr><td>Spice / pepper</td><td><br></td><td><br></td></tr><tr><td>Oak / vanilla / toast</td><td><br></td><td><br></td></tr><tr><td>Other descriptors</td><td><br></td><td><br></td></tr></tbody></table><h2><strong>3. Palate / Taste</strong></h2><table class="table table-bordered"><thead><tr><th>Attribute</th><th>Score (0–5)</th><th>Notes</th></tr></thead><tbody><tr><td>Acidity / freshness</td><td><br></td><td><br></td></tr><tr><td>Tannin / structure</td><td><br></td><td><br></td></tr><tr><td>Body / mouthfeel</td><td><br></td><td><br></td></tr><tr><td>Fruit expression</td><td><br></td><td><br></td></tr><tr><td>Balance / harmony</td><td><br></td><td><br></td></tr><tr><td>Finish / length</td><td><br></td><td><br></td></tr></tbody></table><h2><strong>4. Overall Impression</strong></h2><table class="table table-bordered"><thead><tr><th>Attribute</th><th>Score (0–5)</th><th>Notes</th></tr></thead><tbody><tr><td>Overall quality</td><td><br></td><td><br></td></tr><tr><td>Style match (vs target)</td><td><br></td><td><br></td></tr><tr><td>Aging potential</td><td><br></td><td><br></td></tr></tbody></table><h2><strong>5. Key Takeaways / Iteration Notes</strong></h2><ol>
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you format it properly

Comment on lines 42 to 44
<record id="res_partner_8" model="res.partner">
<field name="name">someone</field>
</record>
Copy link
Contributor

Choose a reason for hiding this comment

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

not used

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<record id="excise_management.stock_warehouse_fiscal_deposit" model="stock.warehouse" forcecreate="0">

Copy link
Contributor

Choose a reason for hiding this comment

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

you can use direct search.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<field name="note"><![CDATA[<div><strong>Next</strong></div><ul><li>Increase Syrah or Malbec fraction for rounder mid-palate and darker fruit perception.</li></ul>]]></field>

Copy link
Contributor

Choose a reason for hiding this comment

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

Can't we use auto sequence here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

After applying the auto-sequence, the last two stages got their sequence values swapped.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Excise management, thanks to the Excise Management Module.

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<p>Step into the world of wine making with our <strong>immersive winery tour</strong>, where tradition meets innovation. Stroll among the vines that give life to our finest blends, breathe in the aromas of ripening grapes, and learn the secrets behind each harvest.</p>

Copy link
Contributor

Choose a reason for hiding this comment

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

Odoomatic?? 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is product name in base database.😂

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<field name="name">Vineyard: Harvest Validation</field>

Comment on lines 12 to 22
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change

this is something generated from studio.

@pgu-odoo
Copy link
Contributor

@vava-odoo PR is ready for your review.

Copy link
Collaborator

@vava-odoo vava-odoo left a comment

Choose a reason for hiding this comment

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

Thanks @chga-odoo

<i class="o_editor_banner_icon mb-3 fst-normal" data-oe-aria-label="Banner Info">💡</i>
<div class="o_editor_banner_content o-contenteditable-true w-100 px-3">
<p>If you want to execute a practical guided tour of this module, you should Import
demo data and try the Demo - Use Case (In the next Knowledge Article)
Copy link
Collaborator

Choose a reason for hiding this comment

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

next article? But there is only one, right? Use case section maybe?

<li>Set as passed the microbiological test to complete the compliance checks for this batch</li>
<li>Come back to the manufacturing order from the breadcrumb and hit the produce all button</li>
</ul>
<p>You now have available malbec must for some assemblages!;</p>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
<p>You now have available malbec must for some assemblages!;</p>
<p>You now have available malbec must for some assemblages!</p>

<li>Open the PLM App and its BOM updates</li>
<li>Trial 2 ECO mage consistent component changes based on learning from trial 1</li>
<li>Open its tests from the smart button and fill in the sensory evaluation outcome</li>
<li>You can mark it asvfailed and create a new ECO based on new learnings but let's mark it as passed and come back to the test list from the breadcrumb</li>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
<li>You can mark it asvfailed and create a new ECO based on new learnings but let's mark it as passed and come back to the test list from the breadcrumb</li>
<li>You can mark it as failed and create a new ECO based on new learnings but let's mark it as passed and come back to the test list from the breadcrumb</li>

<p>In practice:</p>
<p>At anytime, you can create quality checks for aging barrels and recipe iterations which will trigger wastes you can monitor:</p>
<ul>
<li>From the Manufacturing App, create;a new;manufacturing order to bottle some wine chosing one of the finished products and adjust the quantities</li>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
<li>From the Manufacturing App, create;a new;manufacturing order to bottle some wine chosing one of the finished products and adjust the quantities</li>
<li>From the Manufacturing App, create a new manufacturing order to bottle some wine choosing one of the finished products and adjust the quantities</li>

],
'cloc_exclude': [
'data/knowledge_article.xml',
'data/ir_actions_server.xml',
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is it intended to exclude those lines?

Comment on lines +7 to +14
<field name="task_ids" eval="[(6, 0, [ref('project_task_3')])]"/>
</record>
<record id="project_task_recurrence_2" model="project.task.recurrence">
<field name="repeat_interval">1</field>
<field name="repeat_unit">year</field>
<field name="repeat_type">forever</field>
<field name="task_ids" eval="[(6, 0, [ref('project_task_4')])]"/>
</record>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Couldn't you just create one and apply to all tasks? (to extend to all tasks below)

Suggested change
<field name="task_ids" eval="[(6, 0, [ref('project_task_3')])]"/>
</record>
<record id="project_task_recurrence_2" model="project.task.recurrence">
<field name="repeat_interval">1</field>
<field name="repeat_unit">year</field>
<field name="repeat_type">forever</field>
<field name="task_ids" eval="[(6, 0, [ref('project_task_4')])]"/>
</record>
<field name="task_ids" eval="[(6, 0, [ref('project_task_3'), ref('project_task_4')])]"/>
</record>

<field name="title">Acidity</field>
<field name="product_ids" eval="[(6, 0, [ref('product_product_11')])]"/>
<field name="test_type_id" ref="quality_control.test_type_measure"/>
<field name="note"><![CDATA[<div>Mesure and record acidity level.</div>]]></field>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
<field name="note"><![CDATA[<div>Mesure and record acidity level.</div>]]></field>
<field name="note"><![CDATA[<div>Measure and record acidity level.</div>]]></field>

@@ -0,0 +1,42 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="base.main_partner" model="res.partner" forcecreate="1">
Copy link
Collaborator

Choose a reason for hiding this comment

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

this is defined in base_industry_data

Copy link
Collaborator

Choose a reason for hiding this comment

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

Similar to 17

Copy link
Collaborator

Choose a reason for hiding this comment

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

Similar to 1. Please remove all duplicates

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants