Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 1 addition & 3 deletions beverage_distributor/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
'demo/crm_lead.xml',
'demo/product_template.xml',
'demo/product_supplierinfo.xml',
'demo/stock_quant.xml',
'demo/sale_order.xml',
'demo/sale_order_line.xml',
'demo/sale_order_confirm.xml',
Expand All @@ -65,9 +66,6 @@
'demo/purchase_order.xml',
'demo/purchase_order_line.xml',
'demo/purchase_order_confirm.xml',
'demo/validate_deliveries.xml',
'demo/validate_receipts.xml',
'demo/stock_quant.xml',
'demo/mail_activity.xml',
'demo/delivery_carrier.xml',
'demo/payment_provider_demo_post.xml',
Expand Down
27 changes: 18 additions & 9 deletions beverage_distributor/data/knowledge_article.xml
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,17 @@ Create a warehouse for each branch: Go to Inventory > Configuration > Ware
<p>When you sell this product, the excise is accounted separately in a tax and summarised at the end of your sale orders, allowing you to offer clear discounts on your product irrespectively of the excise.</p>
</div>
</div>
<p><strong>Excise reporting</strong></p>
<p>On a regular basis, excises need to be declared. To support you with this duty, a report is setup to reach the quantity by excise category entering and exiting your fiscal deposit warehouse.</p>
<p><strong>Excise reports</strong></p>
<p>On a regular basis, excises need to be declared. To support you with this duty, a report generated weekly provides the quantity by excise category entering and exiting your fiscal deposit warehouse with a dedicated activity for it.</p>
<div class="o_editor_banner user-select-none o-contenteditable-false lh-1 d-flex align-items-center alert alert-info pb-0 pt-3" data-oe-role="status" contenteditable="false" role="status">
<i class="o_editor_banner_icon mb-3 fst-normal" data-oe-aria-label="Banner Info" aria-label="Banner Info">💡</i>
<div class="o_editor_banner_content o-contenteditable-true w-100 px-3" contenteditable="true">
<p>The assignee of the excise reporting activities can be set from the Inventory settings.</p>
</div>
</div>
<ul>
<li>
<p>Open the <strong>Inventory app</strong> and reach from the Reporting menu the Excises.</p>
<p>Open the <strong>Inventory app</strong> and reach the Excise Reports from the Reporting menu.</p>
<ul>
<li>Entry from FD corresponds to products entering you fiscal deposit warehouse from the fiscal deposit of a supplier. To define such suppliers, adapt their fiscal position to handle excise tax.</li>
<li>Exit to FD refers to products exiting your fiscal deposit warehouse to the fiscal deposit of a customer. To define such customers, adapt their fiscal position to handle excise tax.</li>
Expand All @@ -122,13 +128,16 @@ Create a warehouse for each branch: Go to Inventory &gt; Configuration &gt; Ware
</div>
</div>
<p>Remember that only stock moves to or from your fiscal deposit warehouses are reported here.<br/>This is normal not to see any move related to a sale from a front store warehouse since it is not a fiscal deposit for example.</p>
<p><strong>Excise reporting</strong></p>
<p>On top of the legal reporting, you need as well to know at all time the quantity of excise submitted products in your fiscal deposit warehouses.</p>
<ul>
<li>Open the <strong>Inventory app</strong> and reach the Excise Reports from the Reporting menu.</li>
<li>Rows come with the same move types detailed as the Excise Reports.</li>
<li>The Total row allows you to capture your currently in fiscal deposit warehouse product quantity!</li>
</ul>
<p>You now have the keys to easily report those to the relevant authorities!</p>
<div class="o_editor_banner user-select-none o-contenteditable-false lh-1 d-flex align-items-center alert alert-info pb-0 pt-3" data-oe-role="status" contenteditable="false" role="status">
<i class="o_editor_banner_icon mb-3 fst-normal" data-oe-aria-label="Banner Info" aria-label="Banner Info">💡</i>
<div class="o_editor_banner_content o-contenteditable-true w-100 px-3" contenteditable="true">
<p>The default breakdown is done by week and you can configure it to be by month if needed.</p>
</div>
</div>
<p><a href="https://apps.odoo.com/apps/modules/19.0/excise_management" class="btn btn-outline-primary btn-sm" target="_blank">🎓 Excise Management</a></p>
<p><br/></p>
<h3>Sales Management 🍾</h3><p>Use the Sales app to:</p><ul>
<li>Manage your product catalog</li>
<li>Create and track sales orders</li>
Expand Down
8 changes: 8 additions & 0 deletions beverage_distributor/demo/mail_activity.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,12 @@
<field name="res_id" ref="crm_lead_6"/>
<field name="activity_type_id" ref="mail.mail_activity_data_todo"/>
</record>
<record id="mail_activity_4" model="mail.activity">
<field name="res_model_id" ref="excise_management.excise_report"/>
<field name="res_id" ref="excise_report_1"/>
<field name="summary" model="mail.activity" eval="'Excise Report ' + obj().env.ref('beverage_distributor.excise_report_1').x_name"/>
<field name="date_deadline" eval="(datetime.today() + timedelta(weeks=1))"/>
<field name="user_id" ref="base.user_admin"/>
<field name="activity_type_id" ref="mail.mail_activity_data_todo"/>
</record>
</odoo>
16 changes: 14 additions & 2 deletions beverage_distributor/demo/purchase_order_confirm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,23 @@
).picking_ids.ids"/>
<value model="stock.location" eval="{'location_dest_id': obj().search([('display_name', '=', 'FD/Stock')]).id}"/>
</function>

<function name="button_validate" model="stock.picking">
<function name="button_validate" model="stock.picking" context="{'skip_sms': True}">
<value model="stock.picking" eval="(
obj().env.ref('beverage_distributor.purchase_order_4') +
obj().env.ref('beverage_distributor.purchase_order_5') +
obj().env.ref('beverage_distributor.purchase_order_6') +
obj().env.ref('beverage_distributor.purchase_order_7')
).picking_ids.ids"/>
</function>
<function name="write" model="stock.picking">
<value model="stock.picking" eval="(
obj().env.ref('beverage_distributor.purchase_order_4')
).picking_ids.ids"/>
<value eval="{'scheduled_date': (datetime.today().date() + relativedelta(weeks=-1)), 'date_done': (datetime.today().date() + relativedelta(weeks=-1))}" />
</function>
<record id="excise_report_1" model="x_excise_report">
<field name="x_reporter_id" ref="base.user_admin"/>
<field name="x_from_date" eval="(datetime.today() - timedelta(weeks=1))"/>
<field name="x_to_date" eval="(datetime.today())"/>
</record>
</odoo>
28 changes: 26 additions & 2 deletions beverage_distributor/demo/sale_order_confirm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,39 @@
]]"/>
<function name="write" model="stock.picking">
<value model="stock.picking" eval="(
obj().env.ref('beverage_distributor.sale_order_21') +
obj().env.ref('beverage_distributor.sale_order_22') +
obj().env.ref('beverage_distributor.sale_order_23') +
obj().env.ref('beverage_distributor.sale_order_24') +
obj().env.ref('beverage_distributor.sale_order_25') +
obj().env.ref('beverage_distributor.sale_order_26') +
obj().env.ref('beverage_distributor.sale_order_27') +
obj().env.ref('beverage_distributor.sale_order_28') +
obj().env.ref('beverage_distributor.sale_order_29') +
obj().env.ref('beverage_distributor.sale_order_30')
).picking_ids.ids"/>
<value model="stock.location" eval="{'location_id': obj().search([('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)], limit=1).id}"/>
</function>
<function name="button_validate" model="stock.picking">
<function name="action_assign" model="stock.picking">
<value model="stock.picking" eval="(
obj().env.ref('beverage_distributor.sale_order_29') +
obj().env.ref('beverage_distributor.sale_order_21') +
obj().env.ref('beverage_distributor.sale_order_25') +
obj().env.ref('beverage_distributor.sale_order_30')
).picking_ids.ids"/>
</function>
<function name="button_validate" model="stock.picking" context="{'skip_sms': True}">
<value model="stock.picking" eval="(
obj().env.ref('beverage_distributor.sale_order_21') +
obj().env.ref('beverage_distributor.sale_order_25') +
obj().env.ref('beverage_distributor.sale_order_30')
).picking_ids.ids"/>
</function>
<function name="write" model="stock.picking">
<value model="stock.picking" eval="(
obj().env.ref('beverage_distributor.sale_order_21') +
obj().env.ref('beverage_distributor.sale_order_25') +
obj().env.ref('beverage_distributor.sale_order_30')
).picking_ids.ids"/>
<value eval="{'scheduled_date': (datetime.today().date() + relativedelta(weeks=-1)), 'date_done': (datetime.today().date() + relativedelta(weeks=-1))}" />
</function>
</odoo>
18 changes: 18 additions & 0 deletions beverage_distributor/demo/stock_quant.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,74 +3,92 @@
<record id="product_quant_1" model="stock.quant">
<field name="product_id" ref="product_product_37"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_2" model="stock.quant">
<field name="product_id" ref="product_product_7"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_3" model="stock.quant">
<field name="product_id" ref="product_product_39"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_4" model="stock.quant">
<field name="product_id" ref="product_product_41"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_5" model="stock.quant">
<field name="product_id" ref="product_product_43"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_6" model="stock.quant">
<field name="product_id" ref="product_product_45"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_7" model="stock.quant">
<field name="product_id" ref="product_product_47"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_8" model="stock.quant">
<field name="product_id" ref="product_product_36"/>
<field name="inventory_quantity">4</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_9" model="stock.quant">
<field name="product_id" ref="product_product_6"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_10" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_56'))]"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_11" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_67'))]"/>
<field name="inventory_quantity">40</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_12" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_6'))]"/>
<field name="inventory_quantity">0</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_13" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_59'))]"/>
<field name="inventory_quantity">50</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_14" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_51'))]"/>
<field name="inventory_quantity">10</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_15" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_27'))]"/>
<field name="inventory_quantity">10</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_16" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_28'))]"/>
<field name="inventory_quantity">10</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_17" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_29'))]"/>
<field name="inventory_quantity">10</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<record id="product_quant_18" model="stock.quant">
<field name="product_id" search="[('product_tmpl_id', '=', ref('product_template_54'))]"/>
<field name="inventory_quantity">10</field>
<field name="location_id" search="[('warehouse_id', '=', ref('excise_management.stock_warehouse_fiscal_deposit')), ('child_ids', '=', False)]"/>
</record>
<function name="action_apply_inventory" model="stock.quant" eval="[[
ref('product_quant_1'),
Expand Down
17 changes: 0 additions & 17 deletions beverage_distributor/demo/validate_deliveries.xml

This file was deleted.

11 changes: 0 additions & 11 deletions beverage_distributor/demo/validate_receipts.xml

This file was deleted.

4 changes: 2 additions & 2 deletions excise_management/__manifest__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
'name': 'Excise Management',
'version': '2.2',
'version': '2.3',
'category': 'Inventory/Inventory',
'author': 'Odoo S.A.',
'depends': [
Expand All @@ -13,11 +13,11 @@
'data': [
'data/ir_model.xml',
'data/ir_model_fields.xml',
'data/ir_actions_server.xml',
'data/ir_ui_view.xml',
'data/qweb_view.xml',
'data/ir_actions_act_window.xml',
'data/account_tax_group.xml',
'data/ir_actions_server.xml',
'data/ir_ui_menu.xml',
'data/base_automation.xml',
'data/ir_model_access.xml',
Expand Down
5 changes: 5 additions & 0 deletions excise_management/data/ir_actions_act_window.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,9 @@
(0, 0, {'view_mode': 'list', 'view_id': ref('stock_move_view_list')}),
]"/>
</record>
<record id="excise_report_act_window" model="ir.actions.act_window">
<field name="name">Excise Report</field>
<field name="res_model">x_excise_report</field>
<field name="view_mode">list,form</field>
</record>
</odoo>
Loading