From fdfe918eec372f6422b8b931e6f836901d11aeda Mon Sep 17 00:00:00 2001 From: Khushi Vakil Date: Fri, 1 Dec 2023 17:56:50 +0530 Subject: [PATCH] [IMP] l10n_in: cleanup the demo data This commit involves reorganization of demo data in the Indian localization modules. Specifically: - Removed demo data entries. - Added new demo data entries for improved examples. task id: 3614544 closes odoo/odoo#144951 Related: odoo/enterprise#52104 Signed-off-by: Josse Colpaert --- addons/l10n_in/__init__.py | 1 + addons/l10n_in/__manifest__.py | 2 - addons/l10n_in/demo/__init__.py | 3 + addons/l10n_in/demo/account_demo.py | 612 ++++++++++++++++++ addons/l10n_in/demo/account_invoice_demo.xml | 56 -- addons/l10n_in/demo/demo_company.xml | 2 +- addons/l10n_in/demo/res_partner_demo.xml | 43 -- .../l10n_in/static/demo/in_invoice_demo_1.pdf | Bin 0 -> 32972 bytes .../l10n_in/static/demo/in_invoice_demo_2.pdf | Bin 0 -> 23042 bytes addons/l10n_in_edi_ewaybill/__manifest__.py | 2 - addons/l10n_in_edi_ewaybill/demo/__init__.py | 3 +- .../l10n_in_edi_ewaybill/demo/account_demo.py | 37 ++ .../demo/account_invoice_demo.xml | 66 -- .../demo/chart_template.py | 19 - .../demo/demo_company.xml | 34 +- .../demo/res_partner_demo.xml | 18 - 16 files changed, 659 insertions(+), 239 deletions(-) create mode 100644 addons/l10n_in/demo/__init__.py create mode 100644 addons/l10n_in/demo/account_demo.py delete mode 100644 addons/l10n_in/demo/account_invoice_demo.xml delete mode 100644 addons/l10n_in/demo/res_partner_demo.xml create mode 100644 addons/l10n_in/static/demo/in_invoice_demo_1.pdf create mode 100644 addons/l10n_in/static/demo/in_invoice_demo_2.pdf create mode 100644 addons/l10n_in_edi_ewaybill/demo/account_demo.py delete mode 100644 addons/l10n_in_edi_ewaybill/demo/account_invoice_demo.xml delete mode 100644 addons/l10n_in_edi_ewaybill/demo/chart_template.py delete mode 100755 addons/l10n_in_edi_ewaybill/demo/res_partner_demo.xml diff --git a/addons/l10n_in/__init__.py b/addons/l10n_in/__init__.py index dc5e6b693d1..5320d2b35d0 100644 --- a/addons/l10n_in/__init__.py +++ b/addons/l10n_in/__init__.py @@ -2,3 +2,4 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from . import models +from . import demo diff --git a/addons/l10n_in/__manifest__.py b/addons/l10n_in/__manifest__.py index c6e18ddbe31..337a5bd19c7 100644 --- a/addons/l10n_in/__manifest__.py +++ b/addons/l10n_in/__manifest__.py @@ -47,9 +47,7 @@ Sheet, now only Vertical format has been permitted Which is Supported By Odoo. ], 'demo': [ 'demo/demo_company.xml', - 'demo/res_partner_demo.xml', 'demo/product_demo.xml', - 'demo/account_invoice_demo.xml', ], 'license': 'LGPL-3', } diff --git a/addons/l10n_in/demo/__init__.py b/addons/l10n_in/demo/__init__.py new file mode 100644 index 00000000000..979520bdf51 --- /dev/null +++ b/addons/l10n_in/demo/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import account_demo diff --git a/addons/l10n_in/demo/account_demo.py b/addons/l10n_in/demo/account_demo.py new file mode 100644 index 00000000000..6d8bb9ec6d9 --- /dev/null +++ b/addons/l10n_in/demo/account_demo.py @@ -0,0 +1,612 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +import logging +import time +from datetime import datetime, timedelta + +from odoo import api, models, Command +from odoo.exceptions import UserError, ValidationError +from odoo.tools.misc import file_open + +_logger = logging.getLogger(__name__) + + +class AccountChartTemplate(models.AbstractModel): + _inherit = "account.chart.template" + + @api.model + def _get_demo_data(self, company=False): + demo_data = {} + if company.account_fiscal_country_id.code == "IN": + if company.state_id: + demo_data = { + 'res.partner.category': self._get_demo_data_res_partner_category(company), + 'res.partner': self._get_demo_data_partner(company), + 'account.move': self._get_demo_data_move(company), + 'res.config.settings': self._get_demo_data_config_settings(company), + 'ir.attachment': self._get_demo_data_attachment(company), + 'mail.message': self._get_demo_data_mail_message(company), + } + else: + _logger.error('Error while loading Indian-Accounting demo data in the company "%s".State is not set in the company.', company.name) + else: + demo_data = super()._get_demo_data(company) + return demo_data + + @api.model + def _get_demo_data_config_settings(self, company=False): + return{ + 'sales_credit_limit':{ + 'account_use_credit_limit': True, + 'account_default_credit_limit': '10000' + } + } + + @api.model + def _get_demo_data_res_partner_category(self, company=False): + return{ + 'res_partner_category_registered': { + 'name': 'Registered', + 'color': 2, + }, + 'res_partner_category_unregistered': { + 'name': 'Unregistered', + 'color': 3, + }, + } + + @api.model + def _get_demo_data_partner(self, company=False): + cid = company.id or self.env.company.id + intra_state_id = company.state_id + inter_state_id = self.env['res.country.state'].search([ + ('id', 'not in', intra_state_id.ids), + ('country_id', '=', intra_state_id.country_id.id) + ], order='name DESC', limit=1) + default_partner_dict = {'city': 'City', 'zip': '000000', 'country_id': 'base.in', 'is_company': True} + return{ + 'res_partner_registered_customer': { + **default_partner_dict, + 'name': 'B2B Customer Inter State', + 'category_id': 'res_partner_category_registered', + 'l10n_in_gst_treatment': 'regular', + 'street': '201, Second Floor, IT Tower 4', + 'street2': 'InfoCity Gate - 1, Infocity', + 'state_id': inter_state_id.id, + 'company_id': cid, + 'vat': '%sAABCT1332L2ZD'%(inter_state_id.l10n_in_tin), + }, + 'res_partner_registered_customer_intra_state': { + **default_partner_dict, + 'name': 'B2B Customer Intra State', + 'category_id': 'res_partner_category_registered', + 'l10n_in_gst_treatment': 'regular', + 'street': 'floor-1, Maddikunta-Ankanpally Village', + 'street2': 'Post box No 2, NH-65', + 'state_id': intra_state_id.id, + 'company_id': cid, + 'vat': '%sAAACM4154G1ZO'%(intra_state_id.l10n_in_tin), + }, + 'res_partner_unregistered_customer':{ + **default_partner_dict, + 'name': 'B2C Customer Inter State', + 'category_id': 'res_partner_category_unregistered', + 'l10n_in_gst_treatment': 'unregistered', + 'street': 'B105, yogeshwar Tower', + 'state_id': inter_state_id.id, + 'company_id': cid, + }, + 'res_partner_unregistered_customer_intra_state':{ + **default_partner_dict, + 'name': 'B2C Customer Intra State', + 'category_id': 'res_partner_category_unregistered', + 'l10n_in_gst_treatment': 'unregistered', + 'street': '80, Sarojini Devi Road', + 'state_id': intra_state_id.id, + 'company_id': cid, + }, + 'res_partner_registered_supplier_1': { + **default_partner_dict, + 'name': 'Supplier', + 'category_id': 'res_partner_category_registered', + 'l10n_in_gst_treatment': 'regular', + 'street': '19, Ground Floor', + 'street2': 'Survey Road,Vadipatti', + 'state_id': inter_state_id.id, + 'company_id': cid, + 'vat': '%sAACCT6304M1DB'%(inter_state_id.l10n_in_tin), + }, + 'res_partner_registered_supplier_2': { + **default_partner_dict, + 'name': 'Odoo In Private Limited', + 'category_id': 'res_partner_category_registered', + 'l10n_in_gst_treatment': 'regular', + 'street': '201, Second Floor, IT Tower 4', + 'street2': 'InfoCity Gate - 1, Infocity', + 'state_id': inter_state_id.id, + 'company_id': cid, + 'vat': '%sAACCT6304M1ZB'%(inter_state_id.l10n_in_tin), + }, + 'res_partner_overseas': { + 'name': 'Supplier Overseas', + 'l10n_in_gst_treatment': 'overseas', + 'street': '142 Street, Rigas building', + 'street2': 'Survey Road,', + 'city': 'City', + 'zip': '000000', + 'state_id': 'base.state_us_5', + 'country_id': 'base.us', + 'is_company': True, + 'company_id': cid, + }, + } + + @api.model + def _get_demo_data_move(self, company=False): + cid = company.id or self.env.company.id + def _get_tax_by_id(tax_id): + tax = self.env.ref('account.%s_%s'%((cid), (tax_id))) + return tax.id + if company.account_fiscal_country_id.code == "IN": + sale_journal = self.env['account.journal'].search( + domain=[ + *self.env['account.journal']._check_company_domain(cid), + ('type', '=', 'sale'), + ], limit=1) + return { + # Demo of B2B (business-to-business) Taxable supplies made to other registered person. + 'demo_invoice_b2b_1': { + 'move_type': 'out_invoice', + 'partner_id': 'res_partner_registered_customer', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'regular', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.product_product_8', + 'quantity': 2, + 'price_unit': 40000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_28')])], + }), + Command.create({ + 'product_id': 'product.product_product_9', + 'quantity': 3, + 'price_unit': 400.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_28'), _get_tax_by_id('cess_5_plus_1591_sale')])], + }), + Command.create({ + 'product_id': 'product.product_product_10', + 'quantity': 4, + 'price_unit': 300.0, + 'tax_ids':[Command.set([_get_tax_by_id('igst_sale_18')])], + }), + ], + }, + 'demo_invoice_b2b_2': { + 'move_type': 'out_invoice', + 'partner_id': 'res_partner_registered_customer_intra_state', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'regular', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.product_product_9', + 'quantity': 2, + 'price_unit': 4000.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_sale_5')])], + }), + Command.create({ + 'product_id': 'product.product_product_10', + 'quantity': 3, + 'price_unit': 300.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_sale_5')])], + }), + ], + }, + 'demo_bill_b2b_1': { + 'ref': 'INV/001', + 'move_type': 'in_invoice', + 'partner_id': 'res_partner_registered_supplier_2', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.consu_delivery_01', + 'quantity': 1, + 'price_unit': 1000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 1, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + ] + }, + 'demo_bill_b2b_2': { + 'ref': 'INV/002', + 'move_type': 'in_invoice', + 'partner_id': 'res_partner_registered_supplier_2', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.consu_delivery_01', + 'quantity': 4, + 'price_unit': 1000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 3, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + ] + }, + 'demo_bill_b2b_3': { + 'ref': 'INV/003', + 'move_type': 'in_invoice', + 'partner_id': 'res_partner_registered_supplier_1', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.consu_delivery_01', + 'quantity': 2, + 'price_unit': 1000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 3, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + ] + }, + 'demo_invoice_to_extract': { + 'move_type': 'in_invoice', + 'message_main_attachment_id': 'ir_attachment_in_invoice_1', + }, + 'demo_invoice_service': { + 'ref': 'MYS-91021146', + 'move_type': 'in_invoice', + 'partner_id': 'res_partner_registered_supplier_2', + 'invoice_user_id': False, + 'invoice_date': datetime.now(), + 'invoice_line_ids': [ + Command.create({ + 'name': 'Integrated Managed Infrastructure Service', + 'quantity': 1, + 'price_unit': 69132.78, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + ], + 'message_main_attachment_id': 'ir_attachment_in_invoice_2', + }, + # Demo of IMP(Import) of supplies. + 'demo_bill_imp': { + 'ref': 'BOE/123', + 'move_type': 'in_invoice', + 'partner_id': 'res_partner_overseas', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.product_product_4', + 'quantity': 30, + 'price_unit': 9000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + ] + }, + # Demo of cdnr(Credit/ Debit Note for registered business). Create credit note for demo b2b bill. + 'demo_bill_cdnr_1': { + 'ref': 'CR/001', + 'move_type': 'in_refund', + 'partner_id': 'res_partner_registered_supplier_2', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now() - timedelta(days=1), + 'l10n_in_gst_treatment': 'regular', + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.consu_delivery_01', + 'quantity': 1, + 'price_unit': 1000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 1, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + ] + }, + 'demo_bill_cdnr_2': { + 'ref': '000072', + 'move_type': 'in_refund', + 'partner_id': 'res_partner_registered_supplier_1', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'regular', + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.consu_delivery_01', + 'quantity': 1, + 'price_unit': 1000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_purchase_18')])], + }), + ] + }, + # Demo of B2CS (business to consumer small) Taxable supplies made to other unregistered Person and below INR 2.5 lakhs invoice value. + 'demo_invoice_b2cs': { + 'move_type': 'out_invoice', + 'partner_id': 'res_partner_unregistered_customer_intra_state', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'consumer', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.product_product_16', + 'quantity': 1, + 'price_unit': 1500.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_sale_18')])], + }), + Command.create({ + 'product_id': 'product.product_product_20', + 'quantity': 1, + 'price_unit': 2300.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_sale_18')])], + }), + Command.create({ + 'product_id': 'product.product_product_22', + 'quantity': 1, + 'price_unit': 2600.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_sale_18')])], + }), + Command.create({ + 'product_id': 'product.product_product_24', + 'quantity': 2, + 'price_unit': 1655.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_sale_5')])], + }), + ] + }, + # Demo of B2CL (business to consumer - Large) Taxable supplies made to other unregistered Person and invoice value is more than INR 2.5 lakhs. + 'demo_invoice_b2cl': { + 'move_type': 'out_invoice', + 'partner_id': 'res_partner_unregistered_customer', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'consumer', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.consu_delivery_01', + 'quantity': 3, + 'price_unit': 90000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_18')])], + }), + ] + }, + # Demo of EXP(Export) supplies including supplies to SEZ/SEZ Developer or deemed exports. + 'demo_invoice_exp': { + 'move_type': 'out_invoice', + 'partner_id': 'base.res_partner_3', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'overseas', + 'l10n_in_shipping_bill_number': '999704', + 'l10n_in_shipping_bill_date': time.strftime('%Y-%m-02'), + 'l10n_in_shipping_port_code_id': 'l10n_in.port_code_inixy1', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.product_product_4', + 'quantity': 30, + 'price_unit': 8000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_18')])], + }), + ] + }, + # Demo of exempt(Nil Rated, Exempted and Non GST supplies). Set Nill rated and Exempted tax in line. + 'demo_invoice_nill': { + 'move_type': 'out_invoice', + 'partner_id': 'res_partner_registered_customer', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'regular', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.product_product_1', + 'quantity': 2, + 'price_unit': 25000.0, + 'tax_ids': [Command.set([_get_tax_by_id('exempt_sale')])], + }), + Command.create({ + 'product_id': 'product.product_product_5', + 'quantity': 1, + 'price_unit': 400.0, + 'tax_ids': [Command.set([_get_tax_by_id('nil_rated_sale')])], + }), + ] + }, + # Demo of cdnr(Credit/ Debit Note for registered person). Create credit note for demo b2b invoice. + 'demo_invoice_cdnr_1': { + 'move_type': 'out_refund', + 'partner_id': 'res_partner_registered_customer', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'regular', + 'reversed_entry_id': 'demo_invoice_b2b_1', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.product_product_8', + 'quantity': 2, + 'price_unit': 40000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_28')])], + }), + Command.create({ + 'product_id': 'product.product_product_9', + 'quantity': 3, + 'price_unit': 400.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_28'), _get_tax_by_id('cess_5_plus_1591_sale')])], + }), + Command.create({ + 'product_id': 'product.product_product_10', + 'quantity': 4, + 'price_unit': 300.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_18')])], + }), + ] + }, + 'demo_invoice_cdnr_2': { + 'move_type': 'out_refund', + 'partner_id': 'res_partner_registered_customer', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'regular', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.consu_delivery_01', + 'quantity': 1, + 'price_unit': 1000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 1, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_18')])], + }), + ] + }, + # Demo of cdnr(Credit/ Debit Note for unregistered person). Create credit note for demo b2cl invoice. + 'demo_invoice_cdnur': { + 'move_type': 'out_refund', + 'partner_id': 'res_partner_unregistered_customer', + 'invoice_user_id': 'base.user_demo', + 'invoice_payment_term_id': 'account.account_payment_term_end_following_month', + 'invoice_date': datetime.now(), + 'l10n_in_gst_treatment': 'consumer', + 'reversed_entry_id': 'demo_invoice_b2cl', + 'journal_id': sale_journal.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': 'product.consu_delivery_01', + 'quantity': 3, + 'price_unit': 90000.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_18')])], + }), + ] + }, + } + else: + return super()._get_demo_data_move(company) + + @api.model + def _get_demo_data_attachment(self, company=False): + if company.account_fiscal_country_id.code == "IN": + return{ + 'ir_attachment_in_invoice_1': { + 'type': 'binary', + 'name': 'in_invoice_demo_1.pdf', + 'res_model': 'account.move', + 'res_id': 'demo_invoice_to_extract', + 'raw': file_open( + 'l10n_in/static/demo/in_invoice_demo_1.pdf', 'rb' + ).read() + }, + 'ir_attachment_in_invoice_2': { + 'type': 'binary', + 'name': 'in_invoice_demo_2.pdf', + 'res_model': 'account.move', + 'res_id': 'demo_invoice_service', + 'raw': file_open( + 'l10n_in/static/demo/in_invoice_demo_2.pdf', 'rb' + ).read() + } + } + else: + return super()._get_demo_data_attachment(company) + + + @api.model + def _get_demo_data_mail_message(self, company=False): + if company.account_fiscal_country_id.code == "IN": + return { + 'mail_message_in_invoice_1': { + 'model': 'account.move', + 'res_id': 'demo_invoice_to_extract', + 'body': 'Vendor Bill attachment', + 'message_type': 'comment', + 'author_id': 'base.partner_demo', + 'attachment_ids': [Command.set([ + 'ir_attachment_in_invoice_1', + ])] + }, + 'mail_message_in_invoice_2': { + 'model': 'account.move', + 'res_id': 'demo_invoice_service', + 'body': 'Vendor Bill attachment', + 'message_type': 'comment', + 'author_id': 'base.partner_demo', + 'attachment_ids': [Command.set([ + 'ir_attachment_in_invoice_2', + ])] + }, + } + else: + return super()._get_demo_data_mail_message(company) + + def _post_load_demo_data(self, company=False): + if company.account_fiscal_country_id.code == "IN": + if company.state_id: + invoices = ( + self.ref('demo_invoice_b2b_1') + + self.ref('demo_invoice_b2b_2') + + self.ref('demo_invoice_b2cs') + + self.ref('demo_invoice_b2cl') + + self.ref('demo_invoice_exp') + + self.ref('demo_invoice_nill') + + self.ref('demo_invoice_cdnr_1') + + self.ref('demo_invoice_cdnr_2') + + self.ref('demo_invoice_cdnur') + + self.ref('demo_bill_b2b_1') + + self.ref('demo_bill_b2b_2') + + self.ref('demo_bill_b2b_3') + + self.ref('demo_bill_imp') + + self.ref('demo_bill_cdnr_1') + + self.ref('demo_bill_cdnr_2') + + self.ref('demo_invoice_service') + ) + for move in invoices: + try: + move.action_post() + except (UserError, ValidationError): + _logger.exception('Error while posting demo data') + else: + return super()._post_load_demo_data(company) diff --git a/addons/l10n_in/demo/account_invoice_demo.xml b/addons/l10n_in/demo/account_invoice_demo.xml deleted file mode 100644 index dbb3ebd4b77..00000000000 --- a/addons/l10n_in/demo/account_invoice_demo.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - out_invoice - - - - - - regular - - - - - diff --git a/addons/l10n_in/demo/demo_company.xml b/addons/l10n_in/demo/demo_company.xml index a0c725186e2..c313001f236 100644 --- a/addons/l10n_in/demo/demo_company.xml +++ b/addons/l10n_in/demo/demo_company.xml @@ -2,7 +2,7 @@ IN Company - 36AABCT1332L011 + 24DUMMY1234AAZA Block no. 401 Street 2 Hyderabad diff --git a/addons/l10n_in/demo/res_partner_demo.xml b/addons/l10n_in/demo/res_partner_demo.xml deleted file mode 100644 index 367a584e6b8..00000000000 --- a/addons/l10n_in/demo/res_partner_demo.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - Registered - - - - Unregistered - - - - Reseller - - - - - Registered Customer Intra State - - 1 - regular - floor-1, Maddikunta-Ankanpally Village - Post box No 2, NH-65 - Sangareddy - 500002 - - - 36AAACM4154G1ZO - - - - - Reseller(E-Commerce) - - 4/001 Ground Floor, 16th Main Rd, - regular - Bengaluru - 560001 - - - 29AJIPA1572E1ZR - - diff --git a/addons/l10n_in/static/demo/in_invoice_demo_1.pdf b/addons/l10n_in/static/demo/in_invoice_demo_1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a170e5a33e552ad8686fc0e8b619070c1a20728d GIT binary patch literal 32972 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 IFM;xZ0IA1B?f?J) literal 0 HcmV?d00001 diff --git a/addons/l10n_in/static/demo/in_invoice_demo_2.pdf b/addons/l10n_in/static/demo/in_invoice_demo_2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2e88b8ea81c500c693358af47a1e0bf2db3f314f GIT binary patch literal 23042 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
i(d8Kv%d#MDHsIxzZQSjnM8y}J{9sbba{RIA?K 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 - - - - - - - - out_invoice - - - - - regular - - 20 - 1 - GJ11OD1234 - R - - - - diff --git a/addons/l10n_in_edi_ewaybill/demo/chart_template.py b/addons/l10n_in_edi_ewaybill/demo/chart_template.py deleted file mode 100644 index 47f4c707bbb..00000000000 --- a/addons/l10n_in_edi_ewaybill/demo/chart_template.py +++ /dev/null @@ -1,19 +0,0 @@ -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import models, api, Command - - -class AccountChartTemplate(models.AbstractModel): - _inherit = 'account.chart.template' - - @api.model - def _get_demo_data(self, company=False): - company = company or self.env.company - """We need to deactivate einvoice here, as we can not send e-invoice and e-waybill in the same demo company""" - if company == self.env.ref('l10n_in_edi_ewaybill.demo_company_in_ewaybill'): - sales_journals = self.env['account.journal'].search([ - *self.env['account.journal']._check_company_domain(company), - ('type', '=', 'sale'), - ]) - sales_journals.write({'edi_format_ids': [Command.unlink(self.env.ref('l10n_in_edi.edi_in_einvoice_json_1_03').id)]}) - return super()._get_demo_data(company) diff --git a/addons/l10n_in_edi_ewaybill/demo/demo_company.xml b/addons/l10n_in_edi_ewaybill/demo/demo_company.xml index 4689f65b222..2029ff2ff94 100755 --- a/addons/l10n_in_edi_ewaybill/demo/demo_company.xml +++ b/addons/l10n_in_edi_ewaybill/demo/demo_company.xml @@ -1,35 +1,9 @@ - - E-Waybill Company - 05AAACH6188F1ZM - 46B 49B, RAIPUR - BHAGWANPUR, ROORKEE - Haridwar - - - 247667 + + iap_odoo + odoo - - E-Waybill Company - - 05AAACH6188F1ZM - abc123@@ - - - - - - - - - - - - - - in - - + diff --git a/addons/l10n_in_edi_ewaybill/demo/res_partner_demo.xml b/addons/l10n_in_edi_ewaybill/demo/res_partner_demo.xml deleted file mode 100755 index c0eec35e0f4..00000000000 --- a/addons/l10n_in_edi_ewaybill/demo/res_partner_demo.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - Registered Customer (E-Waybill) - - 1 - regular - 19, Ground Floor - Survey Road - Dehradun - 248001 - - - 05AAACH6605F1Z0 - - -