From 1335d740446f3822e1aca75a837868913d5a1925 Mon Sep 17 00:00:00 2001 From: amas-odoo Date: Tue, 28 Oct 2025 12:20:48 +0530 Subject: [PATCH 1/2] [IMP] excise_management: weekly excise report automation and configuration - Capture transfer external IDs from transfer form and expose transfer IDs in invoice form. - Add new model to manage weekly Excise Reports. - Implement scheduled action running every Sunday to: - Create a new Excise Report for the past week. - Set report date range, label, and computation status (in progress). - Create a To-Do activity: "Excise Report W" assigned to the designated reporter, due +1 week. - Keep existing "Excises" report view, but: - Remove default grouping by week (keep only by fiscal deposit move). - Remove "Excise Amount" measure from default display, keep only quantity visible. - Add new menu item "Excise Reports" listing all Excise Report records. --- beverage_distributor/__manifest__.py | 2 +- excise_management/__manifest__.py | 5 +- .../data/ir_actions_act_window.xml | 5 + excise_management/data/ir_actions_server.xml | 18 ++ excise_management/data/ir_default.xml | 4 + excise_management/data/ir_model.xml | 10 + excise_management/data/ir_model_access.xml | 34 +++ excise_management/data/ir_model_fields.xml | 284 ++++++++++++++++++ excise_management/data/ir_ui_menu.xml | 5 + excise_management/data/ir_ui_view.xml | 145 ++++++++- excise_management/data/qweb_view.xml | 13 + micro_brewery/__manifest__.py | 2 +- 12 files changed, 522 insertions(+), 5 deletions(-) create mode 100644 excise_management/data/qweb_view.xml diff --git a/beverage_distributor/__manifest__.py b/beverage_distributor/__manifest__.py index c74f91e2d1..1183706035 100644 --- a/beverage_distributor/__manifest__.py +++ b/beverage_distributor/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Beverage Distributor', - 'version': '2.0', + 'version': '2.1', 'category': 'Supply Chain', 'depends': [ 'base_automation', diff --git a/excise_management/__manifest__.py b/excise_management/__manifest__.py index 2735c1747f..5c7b9581f7 100644 --- a/excise_management/__manifest__.py +++ b/excise_management/__manifest__.py @@ -6,16 +6,18 @@ 'depends': [ 'account_tax_python', 'base_automation', + 'sale_management', 'stock', 'web_studio', ], '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', @@ -27,4 +29,5 @@ ], 'license': 'OPL-1', 'images': ['images/main.png'], + 'cloc_exclude': ['data/qweb_view.xml'] } diff --git a/excise_management/data/ir_actions_act_window.xml b/excise_management/data/ir_actions_act_window.xml index 689addf921..396ae08ab2 100644 --- a/excise_management/data/ir_actions_act_window.xml +++ b/excise_management/data/ir_actions_act_window.xml @@ -16,4 +16,9 @@ (0, 0, {'view_mode': 'list', 'view_id': ref('stock_move_view_list')}), ]"/> + + Excise Report + x_excise_report + list,form + diff --git a/excise_management/data/ir_actions_server.xml b/excise_management/data/ir_actions_server.xml index a5b9e734be..d08450fd28 100644 --- a/excise_management/data/ir_actions_server.xml +++ b/excise_management/data/ir_actions_server.xml @@ -40,4 +40,22 @@ for fp in records: code Add/Remove excise tax on Fiscal Position + + Generate Excise Report + + code + 1 + weeks + + + + + Update excise report to done + + code + + diff --git a/excise_management/data/ir_default.xml b/excise_management/data/ir_default.xml index acc2a17f7f..4153a6e0bf 100644 --- a/excise_management/data/ir_default.xml +++ b/excise_management/data/ir_default.xml @@ -12,4 +12,8 @@ true + + + + diff --git a/excise_management/data/ir_model.xml b/excise_management/data/ir_model.xml index 9c9a8fc83b..d02ca0227e 100644 --- a/excise_management/data/ir_model.xml +++ b/excise_management/data/ir_model.xml @@ -4,4 +4,14 @@ x_excise_category Excise Category + + x_excise_report + Excise Report + + + + + x_excise_report_line + Excise Report Line + diff --git a/excise_management/data/ir_model_access.xml b/excise_management/data/ir_model_access.xml index 36eafc593d..d8c0ed2247 100644 --- a/excise_management/data/ir_model_access.xml +++ b/excise_management/data/ir_model_access.xml @@ -17,4 +17,38 @@ + + + + Excise report group_system + + + + + + + + + Excise report group_user + + + + + + + + Excise report line group_system + + + + + + + + + Excise report line group_user + + + + diff --git a/excise_management/data/ir_model_fields.xml b/excise_management/data/ir_model_fields.xml index 5c8d0d9c18..07a499ec3b 100644 --- a/excise_management/data/ir_model_fields.xml +++ b/excise_management/data/ir_model_fields.xml @@ -257,4 +257,288 @@ for template in self: uom.uom + + char + External ID + + x_external_id + + + + many2many + sale_id.invoice_ids + Invoice IDs + + x_invoice_ids + + + account.move + + + x_external_ids + + External IDs + one2many + picking_ids + sale_id + stock.picking + 1 + + + + x_external_ids + + External IDs + one2many + invoice_line_ids.sale_line_ids.order_id.x_external_ids + sale_id + stock.picking + 1 + + + + + integer + External ID count + + x_external_id_count + x_external_ids + + + + x_excise_report_id + many2one + + Excise Report ID + x_excise_report + + + many2one + + Reporter ID + + x_user_id + res.users + + + date + + From Date + + x_from_date + + + char + + Name + + x_name + standard + x_from_date + + + + char + + Period + + x_period + x_from_date + + + + char + + External ID + + x_external_id + + + binary + Document + + x_document + + + x_state + + selection + State + + + In progress + + progress + + + Done + + done + + + x_stock_move_ids + one2many + + Stock move IDs + stock.move + x_excise_report_id + x_from_date + =', record.x_from_date), + ('date', '<', record.x_from_date + datetime.timedelta(days=7)), + ('x_excise_category', '!=', False), + ('x_fiscal_deposit_move', 'not in', ['none', False]), + ('state', '=', 'done'), + ]).ids + ]]> + + + + integer + Stock move ID count + + x_move_id_count + x_stock_move_ids + + + + many2one + x_excise_report_id + Excise report ID + + x_excise_report + + + many2one + x_excise_report_id.x_stock_move_ids.x_currency_id + Currency + + x_currency_id + + res.currency + + + many2one + x_excise_category_id + Excise Category + + x_excise_category + + + selection + x_excise_move_type + Move Type + + + + None + + none + + + Entry + + entry + + + Entry from FD + + entry fd + + + Exit + + exit + + + Exit to FD + + exit fd + + + Transfer + + transfer + + + float + x_excise_quantity + Quantity + + + + many2one + x_excise_unit + Unit + + x_excise_category_id.x_unit_id + uom.uom + + + monetary + x_excise_amount + Amount + + True + x_currency_id + + + one2many + x_lines_ids + Lines IDs + + x_excise_report_line + x_excise_report_id + x_stock_move_ids + + + + x_reporter_id + many2one + Reporter + + res.users + + + x_reporter_id + many2one + Reporter + + res.users + company_id.x_reporter_id + diff --git a/excise_management/data/ir_ui_menu.xml b/excise_management/data/ir_ui_menu.xml index a801508a48..9bad8670e1 100644 --- a/excise_management/data/ir_ui_menu.xml +++ b/excise_management/data/ir_ui_menu.xml @@ -14,4 +14,9 @@ action="excises_done_act_window" parent="stock.menu_warehouse_report" sequence="70"/> + diff --git a/excise_management/data/ir_ui_view.xml b/excise_management/data/ir_ui_view.xml index 583a3b503d..5a3ed668f2 100644 --- a/excise_management/data/ir_ui_view.xml +++ b/excise_management/data/ir_ui_view.xml @@ -54,10 +54,9 @@ - - + @@ -124,4 +123,146 @@ + + stock.picking.form.inherit.external.id + stock.picking + + + + + + + + + + {'search_default_x_invoice_ids': active_id,'default_x_invoice_ids': [active_id]} + [('x_invoice_ids', '=', active_id)] + Pickings + stock.picking + + + {'search_default_x_excise_report_id': active_id,'default_x_excise_report_id': active_id} + [('x_excise_report_id', '=', active_id)] + Moves + stock.move + + + + account.move.form.inherit.picking.button + account.move + + + + + + + + + + + + + Excise Report + x_excise_report + + list + + + + + + + + + + + + Excise Report + x_excise_report + + +
+
+
+ +
+ +
+
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + Excise Report Search View + x_excise_report + + + + + + + + + + + + + res.config.settings.view_form.reporter + res.config.settings + + + + + + +
+
+
+ Designated contact receiving weekly report activity +
+
+
+
+
+
diff --git a/excise_management/data/qweb_view.xml b/excise_management/data/qweb_view.xml new file mode 100644 index 0000000000..f2e32db21e --- /dev/null +++ b/excise_management/data/qweb_view.xml @@ -0,0 +1,13 @@ + + + + diff --git a/micro_brewery/__manifest__.py b/micro_brewery/__manifest__.py index 37875b5774..47df968930 100644 --- a/micro_brewery/__manifest__.py +++ b/micro_brewery/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Microbrewery', - 'version': '2.0', + 'version': '2.1', 'category': 'Supply Chain', 'depends': [ 'account', From 055642c53a9380f42906d3dc4c52b50f5e446eb9 Mon Sep 17 00:00:00 2001 From: amas-odoo Date: Thu, 30 Oct 2025 17:41:42 +0530 Subject: [PATCH 2/2] [IMP] excise_management: Editable fields, expose new button, add demo data MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Exposed the “New” button to allow users to manually create excise reports. - Made key excise report form fields (Name, Period, State) editable. - Removed the “Mark as Done” button from excise reports. - Reworked the scheduled action to generate excise report. - Updated demo data for the beverage distributor: added excise report demo data. --- beverage_distributor/__manifest__.py | 6 +- .../data/knowledge_article.xml | 126 ++++++++++-------- beverage_distributor/demo/mail_activity.xml | 8 ++ .../demo/purchase_order_confirm.xml | 16 ++- .../demo/sale_order_confirm.xml | 28 +++- beverage_distributor/demo/stock_quant.xml | 18 +++ .../demo/validate_deliveries.xml | 17 --- .../demo/validate_receipts.xml | 11 -- excise_management/data/ir_actions_server.xml | 18 ++- excise_management/data/ir_default.xml | 4 + excise_management/data/ir_model_fields.xml | 58 ++++---- excise_management/data/ir_ui_view.xml | 26 ++-- .../static/description/index.html | 36 +++-- micro_brewery/__manifest__.py | 2 +- micro_brewery/data/knowledge_article.xml | 34 +++-- 15 files changed, 233 insertions(+), 175 deletions(-) delete mode 100644 beverage_distributor/demo/validate_deliveries.xml delete mode 100644 beverage_distributor/demo/validate_receipts.xml diff --git a/beverage_distributor/__manifest__.py b/beverage_distributor/__manifest__.py index 1183706035..a5e04c6402 100644 --- a/beverage_distributor/__manifest__.py +++ b/beverage_distributor/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Beverage Distributor', - 'version': '2.1', + 'version': '2.0', 'category': 'Supply Chain', 'depends': [ 'base_automation', @@ -54,6 +54,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', @@ -63,9 +64,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', diff --git a/beverage_distributor/data/knowledge_article.xml b/beverage_distributor/data/knowledge_article.xml index e6e4f4580e..426e2db86e 100644 --- a/beverage_distributor/data/knowledge_article.xml +++ b/beverage_distributor/data/knowledge_article.xml @@ -46,64 +46,74 @@
  • You can also collect deposit directly on your Point of Sale. Select the correct product and encode a negative quantity.

  • -

    Excise Management 🧾

    -

    In case you import or purchase products for which excises need to be recorded, you can handle it with this package.

    -

    Excise management consists in two dimensions in this package:

    -
      -
    • The maintenance of excise categories and the assignation of excises to products
    • -
    • The reporting of received and delivered excise concerned products, a legal implication for any fiscal deposit
    • -
    -
    - ⚠️ -
    -

    When installing this module, all Fiscal Positions are set as Fiscal Deposit.
    Adjust the Fiscal Positions which are not to consider the Excise Taxes in your orders.

    -
    -
    -

    Excise categories maintenance

    -

    From the Inventory app, open the Excise categories from the menu Configuration / Excise Categories.
    Here you can define new and maintain existing excise categories.

    -

    Imagine you create a new category of products which need excise management...

    -
      -
    • Create a new excise category defining its name, description and reporting unit following the legislation which applies.
    • -
    -

    Then create your product:

    -
      -
    • Define the required product fields.
    • -
    • Assign the relevant excise category, input the Excise Amount and the Excise Quantity in the reporting unit and then save your product.
    • -
    -
    - 💡 -
    -

    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.

    -
    -
    -

    Excise reporting

    -

    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.

    -
      -
    • -

      Open the Inventory app and reach from the Reporting menu the Excises.

      -
        -
      • 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.
      • -
      • 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.
      • -
      • Exit means that products exited your fiscal deposit, to another warehouse of your or through a delivery to a customer without fiscal deposit warehouse.
      • -
      • Entry is here in case you purchase products or are returned products not from a fiscal deposit warehouse. In such case, you ask for excise credits with your excise declaration.
      • -
      • Transfer is here to handle the transfers between multiple fiscal deposit warehouses of yours.
      • -
      -
    • -
    -
    - ⚠️ -
    -

    Receipts and Deliveries from and to Partners having no Fiscal Position defined are handled with the product taxes.

    -
    -
    -

    Remember that only stock moves to or from your fiscal deposit warehouses are reported here.
    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.

    -

    You now have the keys to easily report those to the relevant authorities!

    -
    - 💡 -
    -

    The default breakdown is done by week and you can configure it to be by month if needed.

    -
    -
    +

    Excise Management 🧾

    +

    In case you import or purchase products for which excises need to be recorded, you can handle it with this package.

    +

    Excise management consists in two dimensions in this package:

    +
      +
    • The maintenance of excise categories and the assignation of excises to products
    • +
    • The reporting of received and delivered excise concerned products, a legal implication for any fiscal deposit
    • +
    +
    + ⚠️ +
    +

    When installing this module, all Fiscal Positions are set as Fiscal Deposit.
    Adjust the Fiscal Positions which are not to consider the Excise Taxes in your orders.

    +
    +
    +

    Excise categories maintenance

    +

    From the Inventory app, open the Excise categories from the menu Configuration / Excise Categories.
    Here you can define new and maintain existing excise categories.

    +

    Imagine you create a new category of products which need excise management...

    +
      +
    • Create a new excise category defining its name, description and reporting unit following the legislation which applies.
    • +
    +

    Then create your product:

    +
      +
    • Define the required product fields.
    • +
    • Assign the relevant excise category, input the Excise Amount and the Excise Quantity in the reporting unit and then save your product.
    • +
    +
    + 💡 +
    +

    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.

    +
    +
    +

    Excise reports

    +

    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.

    +
    + 💡 +
    +

    The assignee of the excise reporting activities can be set from the Inventory settings.

    +
    +
    +
      +
    • +

      Open the Inventory app and reach the Excise Reports from the Reporting menu.

      +
        +
      • 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.
      • +
      • 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.
      • +
      • Exit means that products exited your fiscal deposit, to another warehouse of your or through a delivery to a customer without fiscal deposit warehouse.
      • +
      • Entry is here in case you purchase products or are returned products not from a fiscal deposit warehouse. In such case, you ask for excise credits with your excise declaration.
      • +
      • Transfer is here to handle the transfers between multiple fiscal deposit warehouses of yours.
      • +
      +
    • +
    +
    + ⚠️ +
    +

    Receipts and Deliveries from and to Partners having no Fiscal Position defined are handled with the product taxes.

    +
    +
    +

    Remember that only stock moves to or from your fiscal deposit warehouses are reported here.

    +

    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

    +

    Excise reporting

    +

    On top of the legal reporting, you needs as well to know at all time the quantity of excise submitted products in your fiscal deposit warehouses.

    +
      +
    • Open the Inventory app and reach the Excise Reports from the Reporting menu.

    • +
    • Rows come with the same move types detailed as the Excise Reports.

    • +
    • The Total row allows you to capture your currently in fiscal deposit warehouse product quantity!

    • +
    +

    You now have the keys to easily report those to the relevant authorities!

    +

    🎓 Excise Management

    +


    Sales Management 🍾

    Use the Sales app to:

    • Manage your product catalog
    • Create and track sales orders
    • diff --git a/beverage_distributor/demo/mail_activity.xml b/beverage_distributor/demo/mail_activity.xml index b71384ae61..7387434ee9 100644 --- a/beverage_distributor/demo/mail_activity.xml +++ b/beverage_distributor/demo/mail_activity.xml @@ -18,4 +18,12 @@ + + + + + + + + diff --git a/beverage_distributor/demo/purchase_order_confirm.xml b/beverage_distributor/demo/purchase_order_confirm.xml index 4ba73a8f83..07959e2239 100644 --- a/beverage_distributor/demo/purchase_order_confirm.xml +++ b/beverage_distributor/demo/purchase_order_confirm.xml @@ -14,11 +14,23 @@ ).picking_ids.ids"/> - - + + + + + + + + + + diff --git a/beverage_distributor/demo/sale_order_confirm.xml b/beverage_distributor/demo/sale_order_confirm.xml index 15b972f4ac..4cc2e8cceb 100644 --- a/beverage_distributor/demo/sale_order_confirm.xml +++ b/beverage_distributor/demo/sale_order_confirm.xml @@ -14,15 +14,39 @@ ]]"/> - + + + + + + + + diff --git a/beverage_distributor/demo/stock_quant.xml b/beverage_distributor/demo/stock_quant.xml index 487b9a4605..9aa56afca3 100644 --- a/beverage_distributor/demo/stock_quant.xml +++ b/beverage_distributor/demo/stock_quant.xml @@ -3,74 +3,92 @@ 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + 0 + 0 + 40 + 0 + 50 + 10 + 10 + 10 + 10 + 10 + - - - - diff --git a/beverage_distributor/demo/validate_receipts.xml b/beverage_distributor/demo/validate_receipts.xml deleted file mode 100644 index e29befe223..0000000000 --- a/beverage_distributor/demo/validate_receipts.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/excise_management/data/ir_actions_server.xml b/excise_management/data/ir_actions_server.xml index d08450fd28..5d6b6e28f4 100644 --- a/excise_management/data/ir_actions_server.xml +++ b/excise_management/data/ir_actions_server.xml @@ -46,16 +46,22 @@ for fp in records: code 1 weeks - + + - - Update excise report to done + code - + Open stock moves + diff --git a/excise_management/data/ir_default.xml b/excise_management/data/ir_default.xml index 4153a6e0bf..a4071f4559 100644 --- a/excise_management/data/ir_default.xml +++ b/excise_management/data/ir_default.xml @@ -12,6 +12,10 @@ true + + + "progress" + diff --git a/excise_management/data/ir_model_fields.xml b/excise_management/data/ir_model_fields.xml index 07a499ec3b..2ba882d2c2 100644 --- a/excise_management/data/ir_model_fields.xml +++ b/excise_management/data/ir_model_fields.xml @@ -263,6 +263,7 @@ for template in self: x_external_id + many2many @@ -307,28 +308,28 @@ for record in self: record['x_external_id_count'] = len(record.x_external_ids) x_external_ids - - x_excise_report_id - many2one - - Excise Report ID - x_excise_report - many2one Reporter ID - x_user_id + x_reporter_id res.users date - + From Date x_from_date + + date + + To Date + + x_to_date + char @@ -343,34 +344,23 @@ for record in self: record['x_name'] = f"{str(record.x_from_date.isocalendar()[0])[2:]}W{record.x_from_date.isocalendar()[1]:02d}" ]]> - - char - - Period - - x_period - x_from_date - - char - + External ID x_external_id binary + Document x_document x_state + selection State @@ -387,23 +377,22 @@ for record in self: x_stock_move_ids - one2many + many2many Stock move IDs stock.move - x_excise_report_id - x_from_date =', record.x_from_date), - ('date', '<', record.x_from_date + datetime.timedelta(days=7)), + ('date', '<', record.x_to_date), ('x_excise_category', '!=', False), ('x_fiscal_deposit_move', 'not in', ['none', False]), ('state', '=', 'done'), ]).ids ]]> + x_move_id_count x_stock_move_ids + many2one @@ -425,12 +415,15 @@ for record in self: record['x_move_id_count'] = len(record.x_stock_move_ids) many2one - x_excise_report_id.x_stock_move_ids.x_currency_id Currency x_currency_id res.currency + + many2one @@ -507,7 +500,7 @@ for record in self: record['x_move_id_count'] = len(record.x_stock_move_ids) x_stock_move_ids + x_reporter_id diff --git a/excise_management/data/ir_ui_view.xml b/excise_management/data/ir_ui_view.xml index 5a3ed668f2..9442e4d7c0 100644 --- a/excise_management/data/ir_ui_view.xml +++ b/excise_management/data/ir_ui_view.xml @@ -140,16 +140,6 @@ Pickings stock.picking - - {'search_default_x_excise_report_id': active_id,'default_x_excise_report_id': active_id} - [('x_excise_report_id', '=', active_id)] - Moves - stock.move - - account.move.form.inherit.picking.button account.move @@ -172,9 +162,9 @@ list - + - + @@ -186,10 +176,9 @@ x_excise_report -
      +
      -
      @@ -199,12 +188,12 @@

      - +

      - + @@ -214,7 +203,7 @@ - + @@ -236,6 +225,7 @@ + diff --git a/excise_management/static/description/index.html b/excise_management/static/description/index.html index c967cca019..df325e7b8f 100644 --- a/excise_management/static/description/index.html +++ b/excise_management/static/description/index.html @@ -31,6 +31,7 @@

      Assignation of excise categories


      Excises reporting

      The excises reporting concern organisations managing their stock with fiscal deposits.

      +

      As a reminder, the excise reporting has nothing to deal with sales and purchase but focus on entering, exiting and available products in fiscal deposit warehouses.

      Fiscal deposit warehouse

      The reporting of excises consist in monitoring entering, exiting and currently located excises concerned products in a fiscal deposit.

      To monitor such fiscal deposit with this module, set the field Is Fiscal Deposit from the warehouse form.

      @@ -39,7 +40,7 @@

      Fiscal deposit warehouse

      Providers and customers

      In the excises declaration, origin and destination might have an impact and you shall therefore know ahead if you purchase from a supplier or sell to a customer having a fiscal deposit.

      To capture this information on the contact and never have to worry about this in the future, this information is captured in the contact fiscal position.

      -

      This way, both transactions and reporting will account for the fiscal deposit of your contact and therefore exclude the excise taxes and categorize appropriately the fiscal deposit move.

      +

      This way, both transactions and reporting will account for the fiscal deposit of your contact and therefore exclude the excise taxes and categorize appropriately the fiscal deposit move.

      If not existing yet, to capture a contact has a fiscal deposit, duplicate its fiscal position and set the Is Fiscal Deposit setting. Excise taxes are assigned to all non fiscal deposit fiscal position thanks to an automation.

      ⚠️ @@ -47,21 +48,22 @@

      Providers and customers

      When installing this module, all Fiscal Positions are set as Fiscal Deposit.

      +
      + ⚠️ +
      +

      In absence of Fiscal Position for a provider or a customer, the product taxes apply.

      +
      +

      Adjust the Fiscal Positions which are not to consider the Excise Taxes in your orders.

      -

      Excise reporting reading

      -

      As a reminder, the excise reporting has nothing to deal with sales and purchase but focus on entering, exiting and available products in fiscal deposit warehouses.

      -

      The excise report is available from the Inventory Reporting menu and consists of a pivot table summarizing the quantity and excise tax amount monitored through the fiscal deposit warehouses.

      -

      The columns correspond to excise categories and rows are split by periods and then by fiscal deposit moves.

      -

      The entries are summed positively and exits negatively which enables to compute balances when aggregated:

      -
        -
      • A line with a period provides by product category the excise quantity entering the fiscal deposit warehouse during this period when positive or leaving when negative.
      • -
      +

      Excise Reports

      +

      The excise reports are available from the Inventory Reporting menu, summarizing the quantity and excise tax amount monitored through the fiscal deposit warehouses on a weekly basis.

      💡
      -
      The total line, when all periods are accounted in, provides the current stock in the fiscal deposit warehouse by product category.
      +
      A new excise report is generated weekly for you to process with an activity to not miss it.
      The assignee of the excise reporting activities can be set from the Inventory settings.
      +

      When registering an excise report to the legal authorities, the report external id and document field can be updated, and the state set to done for follow up.

      The fiscal deposit moves are:

      • Exit: The products have exited the fiscal deposit warehouse for a location which is not a fiscal deposit.
        This is the case when:
      • @@ -76,10 +78,18 @@

        Excise reporting reading

      • Entry: The products have entered the fiscal deposit warehouse from a location which is not a fiscal deposit.
        This case is less standard and enable excise credit request. An example of it might be: 100 boxes of wine have been sold for a wedding to an end customer (without fiscal deposit); after the wedding the customer comes back to be refunded the 20 boxes which were not consumed; when placing those in the fiscal deposit warehouses, the corresponding excises could be claimed as credit.
      • Transfer: The products have been transferred between two fiscal deposit warehouses of yours.
        This is the case when having multiple fiscal deposit warehouses and dispatching your stock.
        Those lines are null given those products exit on the one end but enter on the other one.
      -
      - ⚠️ +

      Excise reporting

      +

      As a reminder, the excise reporting has nothing to deal with sales and purchase but focus on entering, exiting and available products in fiscal deposit warehouses.

      +

      The excise report is available from the Inventory Reporting menu and consists of a pivot table summarizing the quantity and excise tax amount monitored through the fiscal deposit warehouses.

      +

      The columns correspond to excise categories and rows are split by periods and then by fiscal deposit moves.

      +

      The entries are summed positively and exits negatively which enables to compute balances when aggregated:

      +
        +
      • A line with a period provides by product category the excise quantity entering the fiscal deposit warehouse during this period when positive or leaving when negative.
      • +
      +
      + 💡
      -
      In absence of Fiscal Position for a provider or a customer, the product taxes apply.
      +
      The total line, when all periods are accounted in, provides the current stock in the fiscal deposit warehouse by product category.

      diff --git a/micro_brewery/__manifest__.py b/micro_brewery/__manifest__.py index 47df968930..37875b5774 100644 --- a/micro_brewery/__manifest__.py +++ b/micro_brewery/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Microbrewery', - 'version': '2.1', + 'version': '2.0', 'category': 'Supply Chain', 'depends': [ 'account', diff --git a/micro_brewery/data/knowledge_article.xml b/micro_brewery/data/knowledge_article.xml index e5d15a43a9..19f1084a87 100644 --- a/micro_brewery/data/knowledge_article.xml +++ b/micro_brewery/data/knowledge_article.xml @@ -237,7 +237,8 @@


      -

      Excise Management 🧾

      +

      Excise Management 🧾

      +

      In case you import or purchase products for which excises need to be recorded, you can handle it with this package.

      Excise management consists in two dimensions in this package:

        @@ -250,7 +251,7 @@

        When installing this module, all Fiscal Positions are set as Fiscal Deposit.
        Adjust the Fiscal Positions which are not to consider the Excise Taxes in your orders.

        -

        Excise categories maintenance

        +

        Excise categories maintenance

        From the Inventory app, open the Excise categories from the menu Configuration / Excise Categories.
        Here you can define new and maintain existing excise categories.

        Imagine you create a new category of products which need excise management...

          @@ -267,11 +268,17 @@

          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.

          -

          Excise reporting

          -

          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.

          +

          Excise reports

          +

          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.

          +
          + 💡 +
          +

          The assignee of the excise reporting activities can be set from the Inventory settings.

          +
          +
          • -

            Open the Inventory app and reach from the Reporting menu the Excises.

            +

            Open the Inventory app and reach the Excise Reports from the Reporting menu.

            • 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.
            • 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.
            • @@ -287,14 +294,17 @@

              Receipts and Deliveries from and to Partners having no Fiscal Position defined are handled with the product taxes.

              -

              Remember that only stock moves to or from your fiscal deposit warehouses are reported here.
              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.

              +

              Remember that only stock moves to or from your fiscal deposit warehouses are reported here.

              +

              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

              +

              Excise reporting

              +

              On top of the legal reporting, you needs as well to know at all time the quantity of excise submitted products in your fiscal deposit warehouses.

              +
                +
              • Open the Inventory app and reach the Excise Reports from the Reporting menu.

              • +
              • Rows come with the same move types detailed as the Excise Reports.

              • +
              • The Total row allows you to capture your currently in fiscal deposit warehouse product quantity!

              • +

              You now have the keys to easily report those to the relevant authorities!

              -
              - 💡 -
              -

              The default breakdown is done by week and you can configure it to be by month if needed.

              -
              -
              +

              🎓 Excise Management


              🎉