diff --git a/odoo-bringout-oca-ocb-l10n_au/README.md b/odoo-bringout-oca-ocb-l10n_au/README.md index b43e6f3..264d9a9 100644 --- a/odoo-bringout-oca-ocb-l10n_au/README.md +++ b/odoo-bringout-oca-ocb-l10n_au/README.md @@ -19,35 +19,14 @@ pip install odoo-bringout-oca-ocb-l10n_au ## Dependencies -This addon depends on: - account -## Manifest Information - -- **Name**: Australia - Accounting -- **Version**: 1.1 -- **Category**: Accounting/Localizations/Account Charts -- **License**: LGPL-3 -- **Installable**: False - ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_au`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_au ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/__manifest__.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/__manifest__.py index fde8f47..d9d6e98 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/__manifest__.py @@ -2,6 +2,9 @@ { 'name': 'Australia - Accounting', + 'website': 'https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/australia.html', + 'icon': '/account/static/description/l10n.png', + 'countries': ['au'], 'version': '1.1', 'category': 'Accounting/Localizations/Account Charts', 'description': """ @@ -15,22 +18,32 @@ Also: - sets up Australian taxes. """, 'depends': ['account'], + 'auto_install': ['account'], 'data': [ - 'data/l10n_au_chart_data.xml', - 'data/account.account.template.csv', - 'data/account_chart_template_data.xml', 'data/account_tax_report_data.xml', - 'data/account.tax.group.csv', 'data/account_tax_template_data.xml', - 'data/account_fiscal_position_tax_template_data.xml', - 'data/account_chart_template_configure_data.xml', + 'data/bas_a.xml', + 'data/bas_c.xml', + 'data/bas_d.xml', + 'data/bas_f.xml', + 'data/bas_g.xml', + 'data/bas_u.xml', + 'data/bas_v.xml', + 'data/bas_w.xml', + 'data/bas_x.xml', + 'data/bas_y.xml', + 'data/master_bas.xml', 'data/res_currency_data.xml', + 'data/account.account.tag.csv', 'views/menuitems.xml', 'views/report_invoice.xml', 'views/res_company_views.xml', + 'views/res_partner_bank_views.xml', ], 'demo': [ 'demo/demo_company.xml', + 'demo/res_bank.xml', ], + 'author': 'Odoo S.A.', 'license': 'LGPL-3', } diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.account.tag.csv b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.account.tag.csv new file mode 100644 index 0000000..623d36a --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.account.tag.csv @@ -0,0 +1,2 @@ +"id","name","applicability","country_id/id" +"account_tag_dgst","DGST","accounts","base.au" diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.account.template.csv b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.account.template.csv deleted file mode 100644 index df4dbc2..0000000 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.account.template.csv +++ /dev/null @@ -1,102 +0,0 @@ -id,chart_template_id:id,code,name,account_type,reconcile -au_11110,l10n_au.l10n_au_chart_template,11110,Bank,asset_cash,FALSE -au_11130,l10n_au.l10n_au_chart_template,11130,Petty Cash,asset_cash,FALSE -au_11140,l10n_au.l10n_au_chart_template,11140,Cash Drawer,asset_cash,FALSE -au_11180,l10n_au.l10n_au_chart_template,11180,Undeposited Funds,asset_current,TRUE -au_11190,l10n_au.l10n_au_chart_template,11190,Electronic Clearing,asset_current,TRUE -au_11200,l10n_au.l10n_au_chart_template,11200,Trade Debtors,asset_receivable,TRUE -au_11201,l10n_au.l10n_au_chart_template,11201,Trade Debtors (PoS),asset_receivable,TRUE -au_11210,l10n_au.l10n_au_chart_template,11210,Less Prov'n for Doubtful Debts,asset_current,FALSE -au_11310,l10n_au.l10n_au_chart_template,11310,Raw Materials,asset_current,FALSE -au_11320,l10n_au.l10n_au_chart_template,11320,Finished Goods,asset_current,FALSE -au_11330,l10n_au.l10n_au_chart_template,11330,Trading Stock on Hand,asset_current,FALSE -au_11340,l10n_au.l10n_au_chart_template,11340,Goods Shipped Not Invoiced,asset_current,FALSE -au_12100,l10n_au.l10n_au_chart_template,12100,Deposits Paid,asset_prepayments,FALSE -au_12200,l10n_au.l10n_au_chart_template,12200,Prepaid Insurance,asset_current,FALSE -au_13110,l10n_au.l10n_au_chart_template,13110,Manufacturing Plant at Cost,asset_fixed,FALSE -au_13120,l10n_au.l10n_au_chart_template,13120,Manufac. Plant Accum Dep,asset_fixed,FALSE -au_13130,l10n_au.l10n_au_chart_template,13130,Manufacturing Equipment Cost,asset_fixed,FALSE -au_13140,l10n_au.l10n_au_chart_template,13140,Manufac. Equip Accum Dep,asset_fixed,FALSE -au_13210,l10n_au.l10n_au_chart_template,13210,Furniture & Fixtures at Cost,asset_fixed,FALSE -au_13220,l10n_au.l10n_au_chart_template,13220,Furniture & Fixtures Accum Dep,asset_fixed,FALSE -au_13310,l10n_au.l10n_au_chart_template,13310,Office Equip at Cost,asset_fixed,FALSE -au_13320,l10n_au.l10n_au_chart_template,13320,Office Equip Accum Dep,asset_fixed,FALSE -au_13410,l10n_au.l10n_au_chart_template,13410,Motor Vehicles at Cost,asset_fixed,FALSE -au_13420,l10n_au.l10n_au_chart_template,13420,Motor Vehicles Accum Dep,asset_fixed,FALSE -au_21110,l10n_au.l10n_au_chart_template,21110,Credit Card,liability_current,FALSE -au_21200,l10n_au.l10n_au_chart_template,21200,Trade Creditors,liability_payable,TRUE -au_21210,l10n_au.l10n_au_chart_template,21210,A/P Accrual - Inventory,liability_current,FALSE -au_21310,l10n_au.l10n_au_chart_template,21310,GST Collected,liability_current,FALSE -au_21320,l10n_au.l10n_au_chart_template,21320,BAS Payments,liability_current,FALSE -au_21330,l10n_au.l10n_au_chart_template,21330,GST Paid,asset_current,FALSE -au_21350,l10n_au.l10n_au_chart_template,21350,Fuel Tax Credits Accrued,liability_current,FALSE -au_21355,l10n_au.l10n_au_chart_template,21355,WET Payable,liability_current,FALSE -au_21360,l10n_au.l10n_au_chart_template,21360,Import Duty Payable,liability_current,FALSE -au_21370,l10n_au.l10n_au_chart_template,21370,Voluntary Withholdings Payable,liability_current,FALSE -au_21380,l10n_au.l10n_au_chart_template,21380,ABN Withholdings Payable,liability_current,FALSE -au_21410,l10n_au.l10n_au_chart_template,21410,Payroll Accruals Payable,liability_current,FALSE -au_21420,l10n_au.l10n_au_chart_template,21420,PAYG Withholding Payable,liability_current,FALSE -au_21600,l10n_au.l10n_au_chart_template,21600,Customer Deposits,liability_current,FALSE -au_21700,l10n_au.l10n_au_chart_template,21700,Other Current Liabilities,liability_current,FALSE -au_22100,l10n_au.l10n_au_chart_template,22100,Mortgages Payable,liability_non_current,FALSE -au_22200,l10n_au.l10n_au_chart_template,22200,Notes Payable,liability_non_current,FALSE -au_22300,l10n_au.l10n_au_chart_template,22300,Other Long Term Liabilities,liability_non_current,FALSE -au_31100,l10n_au.l10n_au_chart_template,31100,Capital Investment,equity,FALSE -au_31200,l10n_au.l10n_au_chart_template,31200,Capital Drawings,equity,FALSE -au_38000,l10n_au.l10n_au_chart_template,38000,Retained Earnings,equity,FALSE -au_39000,l10n_au.l10n_au_chart_template,39000,Current Year Earnings,equity_unaffected,FALSE -au_39999,l10n_au.l10n_au_chart_template,39999,Historical Balancing,equity,FALSE -au_41110,l10n_au.l10n_au_chart_template,41110,Sales Product #1,income,FALSE -au_41120,l10n_au.l10n_au_chart_template,41120,Sales Product #2,income,FALSE -au_41130,l10n_au.l10n_au_chart_template,41130,Sales Product #3,income,FALSE -au_42000,l10n_au.l10n_au_chart_template,42000,Wholesale Sales,income,FALSE -au_43000,l10n_au.l10n_au_chart_template,43000,Consignment Sales,income,FALSE -au_44000,l10n_au.l10n_au_chart_template,44000,Freight Income,income,FALSE -au_45000,l10n_au.l10n_au_chart_template,45000,Late Fees Collected,income_other,FALSE -au_46000,l10n_au.l10n_au_chart_template,46000,Miscellaneous Income,income_other,FALSE -au_47000,l10n_au.l10n_au_chart_template,47000,Fuel Tax Credits,income_other,FALSE -au_51110,l10n_au.l10n_au_chart_template,51110,Cost of Goods Sold #1,expense_direct_cost,FALSE -au_51120,l10n_au.l10n_au_chart_template,51120,Cost of Goods Sold # 2,expense_direct_cost,FALSE -au_51130,l10n_au.l10n_au_chart_template,51130,Cost of Goods Sold # 3,expense_direct_cost,FALSE -au_52000,l10n_au.l10n_au_chart_template,52000,Wholesale Cost of Sales,expense_direct_cost,FALSE -au_53000,l10n_au.l10n_au_chart_template,53000,Consignment Cost of Sales,expense_direct_cost,FALSE -au_54000,l10n_au.l10n_au_chart_template,54000,Wages for Production Labour,expense_direct_cost,FALSE -au_55000,l10n_au.l10n_au_chart_template,55000,Materials & Supplies,expense_direct_cost,FALSE -au_56000,l10n_au.l10n_au_chart_template,56000,Freight,expense_direct_cost,FALSE -au_57000,l10n_au.l10n_au_chart_template,57000,Other Costs,expense_direct_cost,FALSE -au_61000,l10n_au.l10n_au_chart_template,61000,Advertising,expense,FALSE -au_61200,l10n_au.l10n_au_chart_template,61200,Car & Truck Expenses,expense,FALSE -au_61300,l10n_au.l10n_au_chart_template,61300,Commissions Paid,expense,FALSE -au_61500,l10n_au.l10n_au_chart_template,61500,Depreciation Expense,expense_depreciation,FALSE -au_61610,l10n_au.l10n_au_chart_template,61610,Discounts Given,expense,FALSE -au_61620,l10n_au.l10n_au_chart_template,61620,Discounts Taken,expense,FALSE -au_61630,l10n_au.l10n_au_chart_template,61630,Exchange Rate Loss,expense,FALSE -au_61640,l10n_au.l10n_au_chart_template,61640,Exchange Rate Gain,income,FALSE -au_61700,l10n_au.l10n_au_chart_template,61700,Freight Paid,expense,FALSE -au_61800,l10n_au.l10n_au_chart_template,61800,Insurance,expense,FALSE -au_61910,l10n_au.l10n_au_chart_template,61910,Overdraft Interest,expense,FALSE -au_61920,l10n_au.l10n_au_chart_template,61920,Mortgage Interest,expense,FALSE -au_61930,l10n_au.l10n_au_chart_template,61930,Other Interest,expense,FALSE -au_62000,l10n_au.l10n_au_chart_template,62000,Late Fees Paid,expense,FALSE -au_62110,l10n_au.l10n_au_chart_template,62110,Machinery & Equipment,expense,FALSE -au_62120,l10n_au.l10n_au_chart_template,62120,Other Business Property,expense,FALSE -au_62200,l10n_au.l10n_au_chart_template,62200,Legal & Professional Services,expense,FALSE -au_62300,l10n_au.l10n_au_chart_template,62300,Office Expenses,expense,FALSE -au_62410,l10n_au.l10n_au_chart_template,62410,Staff Amenities,expense,FALSE -au_62420,l10n_au.l10n_au_chart_template,62420,Superannuation,expense,FALSE -au_62430,l10n_au.l10n_au_chart_template,62430,Wages & Salaries,expense,FALSE -au_62440,l10n_au.l10n_au_chart_template,62440,Workers' Compensation,expense,FALSE -au_62450,l10n_au.l10n_au_chart_template,62450,Other Employer Expenses,expense,FALSE -au_62500,l10n_au.l10n_au_chart_template,62500,Repairs,expense,FALSE -au_62550,l10n_au.l10n_au_chart_template,62550,Shrinkage/Spoilage,expense,FALSE -au_62600,l10n_au.l10n_au_chart_template,62600,Supplies,expense,FALSE -au_62700,l10n_au.l10n_au_chart_template,62700,Taxes,expense,FALSE -au_62800,l10n_au.l10n_au_chart_template,62800,Telephone,expense,FALSE -au_62910,l10n_au.l10n_au_chart_template,62910,Gas,expense,FALSE -au_62920,l10n_au.l10n_au_chart_template,62920,Electricity,expense,FALSE -au_62930,l10n_au.l10n_au_chart_template,62930,Water,expense,FALSE -au_63110,l10n_au.l10n_au_chart_template,63110,Travel,expense,FALSE -au_63120,l10n_au.l10n_au_chart_template,63120,Meals & Entertainment,expense,FALSE -au_81000,l10n_au.l10n_au_chart_template,81000,Interest Income,income_other,FALSE -au_91000,l10n_au.l10n_au_chart_template,91000,Interest Expense,expense,FALSE -au_92000,l10n_au.l10n_au_chart_template,92000,Income Tax Expense,expense,FALSE diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.tax.group.csv b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.tax.group.csv deleted file mode 100644 index 74f33f0..0000000 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account.tax.group.csv +++ /dev/null @@ -1,5 +0,0 @@ -id,name,country_id/id -tax_group_gst_0,GST 0%,base.au -tax_group_gst_10,GST 10%,base.au -tax_group_gst_100000000,GST 100%,base.au -tax_group_withheld,Withheld,base.au diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_chart_template_configure_data.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_chart_template_configure_data.xml deleted file mode 100644 index e0e45b0..0000000 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_chart_template_configure_data.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_chart_template_data.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_chart_template_data.xml deleted file mode 100644 index 83b54b7..0000000 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_chart_template_data.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_fiscal_position_tax_template_data.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_fiscal_position_tax_template_data.xml deleted file mode 100644 index b881145..0000000 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_fiscal_position_tax_template_data.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - OS Partner - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TPAR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TPAR without ABN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_tax_report_data.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_tax_report_data.xml index fef0ed6..3434f5e 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_tax_report_data.xml +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_tax_report_data.xml @@ -1,11 +1,12 @@ - + - Tax Report + BAS Report - + country + DOWN Balance @@ -15,6 +16,7 @@ GST amounts you owe the Tax Office from sales + 0 G1: Total Sales (including any GST) @@ -23,7 +25,7 @@ balance tax_tags - G1 + -G1 @@ -34,7 +36,7 @@ balance tax_tags - G2 + -G2 @@ -45,7 +47,7 @@ balance tax_tags - G3 + -G3 @@ -56,7 +58,7 @@ balance tax_tags - G4 + -G4 @@ -79,7 +81,7 @@ balance tax_tags - G7 + -G7 @@ -99,6 +101,7 @@ GST amounts the Tax Office owes you from purchases + 0 G10: Capital purchases (including any GST) @@ -213,42 +216,119 @@ - - Summary + + PAYG Tax Withheld + 0 - - 1A: GST on sales - 1A - G9.balance + + W1: Total salaries, wages and other payments + W1 + + + balance + tax_tags + W1 + + - - 1B: GST on purchases - 1B - G20.balance + + W2: Amounts withheld from salaries or wages and other payments shown at W1 + W2 + + + sub_balance + tax_tags + W2 + + + balance + aggregation + -W2.sub_balance + + - - 9: Your payment - 1A.balance-1B.balance + + W4: Amounts withheld where no ABN is quoted + W4 + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (excluding any amount shown at W2 or W4) + W3 + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + W2.balance+W3.balance+W4.balance - - Comparison + + Summary + 0 - - GST from worksheet (G20-G9) - G20.balance-G9.balance - - - GST from General Ledger - - - balance - tax_tags - GST from General Ledger + + 8A: Amounts owed to ATO + 8A + 1A.balance+4.balance+7A.balance + + + 1A: GST on sales + 1A + G9.balance + + + 4: PAYG Tax Withheld + 4 + W5.balance + + + 7A: Deferred GST + 7A + + + balance + tax_tags + -7A + + + + 8B: Amounts owed by ATO + 8B + 1B.balance + + + 1B: GST on purchases + 1B + G20.balance + + + + + 9: Liability to ATO + 8A.balance-8B.balance + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_tax_template_data.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_tax_template_data.xml index e136da5..5310bee 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_tax_template_data.xml +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/account_tax_template_data.xml @@ -10,897 +10,4 @@ taxes - - - Tax Withheld - 1000 - Tax Withheld for Partners without ABN - purchase - service - percent - -47.0 - - - - - - - - Sale (10%) - 1 - GST Sales - sale - percent - 10.0 - - - - - - - - GST Inc Sale (10%) - 2 - GST Inclusive Sales - sale - percent - 10.0 - - - - - - - - Zero (Export) Sale - 3 - Zero Rated (Export) Sales - sale - percent - 0 - - - - - - - - Exempt Sale - 4 - Exempt Sales - sale - percent - 0 - - - - - - - - Input Taxed - 5 - Input Taxed Sales - sale - percent - 0 - - - - - - - - Sale Adj (10%) - 6 - Tax Adjustments (Sales) - sale - percent - 10.0 - - - - - - - - Purch (10%) - 1 - GST Purchases - purchase - percent - 10.0 - - - - - - - - Purch (10%) TPAR - 1 - GST Purchases - purchase - service - percent - 10.0 - - - - - - - - Purch (10%) TPAR without ABN - 1 - GST Purchases - purchase - service - 100 - group - - - - - - GST Inc Purch (10%) - 2 - GST Inclusive Purchases - purchase - percent - 10.0 - - - - - - - - GST Inc Purch (10%) TPAR - 2 - GST Inclusive Purchases - purchase - service - percent - 10.0 - - - - - - - - GST Inc Purch (10%) TPAR without ABN - 2 - GST Inclusive Purchases - purchase - service - 100 - group - - - - - - Capital (10.0%) - 3 - Capital Purchases - purchase - percent - 10.0 - - - - - - - - Capital (10.0%) TPAR - 3 - Capital Purchases - purchase - service - percent - 10.0 - - - - - - - - Capital (10%) TPAR without ABN - 3 - Capital Purchases - purchase - service - 100 - group - - - - - - Zero Rated Purch - 4 - Capital Purchases - purchase - percent - 0 - - - - - - - - Zero Rated Purch TPAR - 4 - Capital Purchases - purchase - service - percent - 0 - - - - - - - - Zero Rated Purch TPAR without ABN - 4 - Capital Purchases - purchase - service - 100 - group - - - - - - Purch (Taxable Imports) - 5 - Purchase (Taxable Imports) - Tax Paid Separately - purchase - percent - 100 - - - - - - - - Purch (Taxable Imports) TPAR - 5 - Purchase (Taxable Imports) - Tax Paid Separately - purchase - service - percent - 100 - - - - - - - - Purch (Taxable Imports) TPAR without ABN - 5 - Purchase (Taxable Imports) - Tax Paid Separately - purchase - service - 100 - group - - - - - - Purch for Input Sales - 6 - Purchases for Input Taxed Sales - purchase - percent - 10.0 - - - - - - - - Purch for Input Sales TPAR - 6 - Purchases for Input Taxed Sales - purchase - service - percent - 10.0 - - - - - - - - Purch for Input Sales TPAR without ABN - 6 - Purchases for Input Taxed Sales - purchase - service - 100 - group - - - - - - Purch Private (10%) - 7 - Purchases for Private use or not deductible - purchase - percent - 10.0 - - - - - - - - Purch Private (10%) TPAR - 7 - Purchases for Private use or not deductible - purchase - service - percent - 10.0 - - - - - - - - Purch Private (10%) TPAR without ABN - 7 - Purchases for Private use or not deductible - purchase - service - 100 - group - - - - - - GST Only on Imports - 8 - GST Only on Imports - purchase - percent - 100 - - - - - - - - GST Only on Imports TPAR - 8 - GST Only on Imports - purchase - service - percent - 100 - - - - - - - - GST Only on Imports TPAR without ABN - 8 - GST Only on Imports - purchase - service - 100 - group - - - - - - Purch Adj (10%) - 9 - Tax Adjustments (Purchases) - purchase - percent - 10.0 - - - - - - - - Purch Adj (10%) TPAR - 9 - Tax Adjustments (Purchases) - purchase - service - percent - 10.0 - - - - - - - - Purch Adj (10%) TPAR without ABN - 9 - Tax Adjustments (Purchases) - purchase - service - 100 - group - - - - + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_a.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_a.xml new file mode 100644 index 0000000..2933dc4 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_a.xml @@ -0,0 +1,714 @@ + + + + BAS A + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + 1. Sales amount + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + PAYG Income Tax Instalment + PAYGI + 0 + + + + T7: PAYG Income Instalment + T7 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T8: Estimated tax for the year + T8 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T9: Varied amount payable for the Quater + T9 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + T9.quarter_perc * T8.balance + + + + + T1: PAYG Instalment Income + T1 + 3 + + + + sub_balance + domain + [('account_id.account_type', '=', 'income')] + -sum + + + sub_balance2 + domain + [('account_id.account_type', '=', 'income_other')] + -sum + + + balance + aggregation + T1.sub_balance+T1.sub_balance2 + + + + + T2: Tax Rate + T2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T3: New Varied Tax Rate + T3 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T11: PAYG Income tax Instalment + T11 + 3 + + + + account_balance + account_codes + -92 + + + balance + aggregation + (T1.balance * ((T2.balance + T3.balance)/100)) - T11.account_balance + + + + + T4: Reason Code for Variation + T4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+4.balance+5A.balance+7.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 4: PAYG Tax Withheld + 4 + 5 + + + + balance + aggregation + W5.balance + + + + + 5A: PAYG Income Tax Instalment + 5A + 5 + + + + sub_balance + tax_tags + -T7 + + + balance + aggregation + 5A.sub_balance + if_above(AUD(0)) + + + + + 7: Deferred Instalment + 7 + 5 + + + + balance + tax_tags + -7 + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+5B.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 5B: Credit from PAYG income tax instalment variation + 5B + 5 + + + + balance + aggregation + -5A.sub_balance + if_above(AUD(0)) + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_c.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_c.xml new file mode 100644 index 0000000..f3b26f1 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_c.xml @@ -0,0 +1,868 @@ + + + + BAS C + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + PAYG Income Tax Instalment + PAYGI + 0 + + + + T7: PAYG Income Instalment + T7 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T8: Estimated tax for the year + T8 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T9: Varied amount payable for the Quater + T9 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + T9.quarter_perc * T8.balance + + + + + T1: PAYG Instalment Income + T1 + 3 + + + + sub_balance + domain + [('account_id.account_type', '=', 'income')] + -sum + + + sub_balance2 + domain + [('account_id.account_type', '=', 'income_other')] + -sum + + + balance + aggregation + T1.sub_balance+T1.sub_balance2 + + + + + T2: Tax Rate + T2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T3: New Varied Tax Rate + T3 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T11: PAYG Income tax Instalment + T11 + 3 + + + + account_balance + account_codes + -92 + + + balance + aggregation + (T1.balance * ((T2.balance + T3.balance)/100)) - T11.account_balance + + + + + T4: Reason Code for Variation + T4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Fringe Benefits Tax + FBT + 0 + + + + F1: Fringe Benefits Tax Instalment amount + F1 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F2: Estimated FBT for the year + F2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F3: Varied amount payable + F3 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + F3.quarter_perc * F2.balance + + + + + F4: Reason Code for Variation + F4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+1C.balance+1E.balance+4.balance+5A.balance+6A.balance+7.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 1C: Wine Equalisation Tax + 1C + 5 + + + + balance + tax_tags + -1C + + + + + 1E: Luxury Car Tax + 1E + 5 + + + + balance + tax_tags + -1E + + + + + 4: PAYG Tax Withheld + 4 + 5 + + + + balance + aggregation + W5.balance + + + + + 5A: PAYG Income Tax Instalment + 5A + 5 + + + + sub_balance + tax_tags + -T7 + + + balance + aggregation + 5A.sub_balance + if_above(CUR(0)) + + + + + 6A: FBT Instalment + 6A + 5 + + + + sub_balance + tax_tags + -F1 + + + balance + aggregation + 6A.sub_balance + if_above(CUR(0)) + + + + + 7: Deferred Company/Fund Instalment + 7 + 5 + + + + balance + tax_tags + -7 + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+1D.balance+1F.balance+5B.balance+6B.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 1D: Wine Equalisation tax Refundable + 1D + 5 + + + + balance + tax_tags + 1D + + + + + 1F: Luxury car tax refundable + 1F + 5 + + + + balance + tax_tags + 1F + + + + + 5B: Credit from PAYG income tax instalment variation + 5B + 5 + + + + balance + aggregation + -5A.sub_balance + if_above(CUR(0)) + + + + + 6B: Credit from FBT Instalment Variation + 6B + 5 + + + + balance + aggregation + -6A.sub_balance + if_above(CUR(0)) + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_d.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_d.xml new file mode 100644 index 0000000..2a4c67c --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_d.xml @@ -0,0 +1,437 @@ + + + + BAS D + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_f.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_f.xml new file mode 100644 index 0000000..c8c125b --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_f.xml @@ -0,0 +1,528 @@ + + + + BAS F + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+4.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 4: PAYG Tax Withheld + 4 + 5 + + + + balance + aggregation + W5.balance + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_g.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_g.xml new file mode 100644 index 0000000..3700b10 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_g.xml @@ -0,0 +1,868 @@ + + + + BAS G + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + PAYG Income Tax Instalment + PAYGI + 0 + + + + T7: PAYG Income Instalment + T7 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T8: Estimated tax for the year + T8 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T9: Varied amount payable for the Quater + T9 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + T9.quarter_perc * T8.balance + + + + + T1: PAYG Instalment Income + T1 + 3 + + + + sub_balance + domain + [('account_id.account_type', '=', 'income')] + -sum + + + sub_balance2 + domain + [('account_id.account_type', '=', 'income_other')] + -sum + + + balance + aggregation + T1.sub_balance+T1.sub_balance2 + + + + + T2: Tax Rate + T2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T3: New Varied Tax Rate + T3 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T11: PAYG Income tax Instalment + T11 + 3 + + + + account_balance + account_codes + -92 + + + balance + aggregation + (T1.balance * ((T2.balance + T3.balance)/100)) - T11.account_balance + + + + + T4: Reason Code for Variation + T4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Fringe Benefits Tax + FBT + 0 + + + + F1: Fringe Benefits Tax Instalment amount + F1 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F2: Estimated FBT for the year + F2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F3: Varied amount payable + F3 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + F3.quarter_perc * F2.balance + + + + + F4: Reason Code for Variation + F4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+1C.balance+1E.balance+5A.balance+6A.balance+7.balance+7A.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 1C: Wine Equalisation Tax + 1C + 5 + + + + balance + tax_tags + -1C + + + + + 1E: Luxury Car Tax + 1E + 5 + + + + balance + tax_tags + -1E + + + + + 5A: PAYG Income Tax Instalment + 5A + 5 + + + + sub_balance + tax_tags + -T7 + + + balance + aggregation + 5A.sub_balance + if_above(CUR(0)) + + + + + 6A: FBT Instalment + 6A + 5 + + + + sub_balance + tax_tags + -F1 + + + balance + aggregation + 6A.sub_balance + if_above(CUR(0)) + + + + + 7: Deferred Company/Fund Instalment + 7 + 5 + + + + balance + tax_tags + -7 + + + + + 7A: Deferred GST + 7A + 5 + + + + balance + tax_tags + -7A + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+1D.balance+1F.balance+5B.balance+6B.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 1D: Wine Equalisation tax Refundable + 1D + 5 + + + + balance + tax_tags + 1D + + + + + 1F: Luxury car tax refundable + 1F + 5 + + + + balance + tax_tags + 1F + + + + + 5B: Credit from PAYG income tax instalment variation + 5B + 5 + + + + balance + aggregation + -5A.sub_balance + if_above(CUR(0)) + + + + + 6B: Credit from FBT Instalment Variation + 6B + 5 + + + + balance + aggregation + -6A.sub_balance + if_above(CUR(0)) + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_u.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_u.xml new file mode 100644 index 0000000..8f790cf --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_u.xml @@ -0,0 +1,727 @@ + + + + BAS U + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + PAYG Income Tax Instalment + PAYGI + 0 + + + + T7: PAYG Income Instalment + T7 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T8: Estimated tax for the year + T8 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T9: Varied amount payable for the Quater + T9 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + T9.quarter_perc * T8.balance + + + + + T1: PAYG Instalment Income + T1 + 3 + + + + sub_balance + domain + [('account_id.account_type', '=', 'income')] + -sum + + + sub_balance2 + domain + [('account_id.account_type', '=', 'income_other')] + -sum + + + balance + aggregation + T1.sub_balance+T1.sub_balance2 + + + + + T2: Tax Rate + T2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T3: New Varied Tax Rate + T3 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T11: PAYG Income tax Instalment + T11 + 3 + + + + account_balance + account_codes + -92 + + + balance + aggregation + (T1.balance * ((T2.balance + T3.balance)/100)) - T11.account_balance + + + + + T4: Reason Code for Variation + T4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+4.balance+5A.balance+7C.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 4: PAYG Tax Withheld + 4 + 5 + + + + balance + aggregation + W5.balance + + + + + 5A: PAYG Income Tax Instalment + 5A + 5 + + + + sub_balance + tax_tags + -T7 + + + balance + aggregation + 5A.sub_balance + if_above(CUR(0)) + + + + + 7C: Fuel tax credit over claim (Do not claim in litres) + 7C + 5 + + + + balance + tax_tags + -7C + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+5B.balance+7D.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 5B: Credit from PAYG income tax instalment variation + 5B + 5 + + + + balance + aggregation + -5A.sub_balance + if_above(CUR(0)) + + + + + 7D: Fuel tax credit (Do not claim in litres) + 7D + 5 + + + + balance + tax_tags + 7D + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_v.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_v.xml new file mode 100644 index 0000000..68aad53 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_v.xml @@ -0,0 +1,881 @@ + + + + BAS V + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + PAYG Income Tax Instalment + PAYGI + 0 + + + + T7: PAYG Income Instalment + T7 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T8: Estimated tax for the year + T8 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T9: Varied amount payable for the Quater + T9 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + T9.quarter_perc * T8.balance + + + + + T1: PAYG Instalment Income + T1 + 3 + + + + sub_balance + domain + [('account_id.account_type', '=', 'income')] + -sum + + + sub_balance2 + domain + [('account_id.account_type', '=', 'income_other')] + -sum + + + balance + aggregation + T1.sub_balance+T1.sub_balance2 + + + + + T2: Tax Rate + T2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T3: New Varied Tax Rate + T3 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T11: PAYG Income tax Instalment + T11 + 3 + + + + account_balance + account_codes + -92 + + + balance + aggregation + (T1.balance * ((T2.balance + T3.balance)/100)) - T11.account_balance + + + + + T4: Reason Code for Variation + T4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Fringe Benefits Tax + FBT + 0 + + + + F1: Fringe Benefits Tax Instalment amount + F1 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F2: Estimated FBT for the year + F2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F3: Varied amount payable for the Quarter + F3 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + F3.quarter_perc * F2.balance + + + + + F4: Reason Code for Variation + F4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+1C.balance+1E.balance+4.balance+5A.balance+6A.balance+7C.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 1C: Wine Equalisation Tax + 1C + 5 + + + + balance + tax_tags + -1C + + + + + 1E: Luxury Car Tax + 1E + 5 + + + + balance + tax_tags + -1E + + + + + 4: PAYG Tax Withheld + 4 + 5 + + + + balance + aggregation + W5.balance + + + + + 5A: PAYG Income Tax Instalment + 5A + 5 + + + + sub_balance + tax_tags + -T7 + + + balance + aggregation + 5A.sub_balance + if_above(CUR(0)) + + + + + 6A: FBT Instalment + 6A + 5 + + + + sub_balance + tax_tags + -F1 + + + balance + aggregation + 6A.sub_balance + if_above(CUR(0)) + + + + + 7C: Fuel tax credit over claim (Do not claim in litres) + 7C + 5 + + + + balance + tax_tags + -7C + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+1D.balance+1F.balance+5B.balance+6B.balance+7D.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 1D: Wine Equalisation tax Refundable + 1D + 5 + + + + balance + tax_tags + 1D + + + + + 1F: Luxury car tax refundable + 1F + 5 + + + + balance + tax_tags + 1F + + + + + 5B: Credit from PAYG income tax instalment variation + 5B + 5 + + + + balance + aggregation + -5A.sub_balance + if_above(CUR(0)) + + + + + 6B: Credit from FBT Instalment Variation + 6B + 5 + + + + balance + aggregation + -6A.sub_balance + if_above(CUR(0)) + + + + + 7D: Fuel tax credit (Do not claim in litres) + 7D + 5 + + + + balance + tax_tags + 7D + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_w.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_w.xml new file mode 100644 index 0000000..3d0e66e --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_w.xml @@ -0,0 +1,463 @@ + + + + BAS W + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+7C.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 7C: Fuel tax credit over claim (Do not claim in litres) + 7C + 5 + + + + balance + tax_tags + -7C + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+7D.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 7D: Fuel tax credit (Do not claim in litres) + 7D + 5 + + + + balance + tax_tags + 7D + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_x.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_x.xml new file mode 100644 index 0000000..8dcbb02 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_x.xml @@ -0,0 +1,554 @@ + + + + BAS X + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+4.balance+7C.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 4: PAYG Tax Withheld + 4 + 5 + + + + balance + aggregation + W5.balance + + + + + 7C: Fuel tax credit over claim (Do not claim in litres) + 7C + 5 + + + + balance + tax_tags + -7C + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+7D.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 7D: Fuel tax credit (Do not claim in litres) + 7D + 5 + + + + balance + tax_tags + 7D + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_y.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_y.xml new file mode 100644 index 0000000..d4e7185 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/bas_y.xml @@ -0,0 +1,894 @@ + + + + BAS Y + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + PAYG Income Tax Instalment + PAYGI + 0 + + + + T7: PAYG Income Instalment + T7 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T8: Estimated tax for the year + T8 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T9: Varied amount payable for the Quater + T9 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + T9.quarter_perc * T8.balance + + + + + T1: PAYG Instalment Income + T1 + 3 + + + + sub_balance + domain + [('account_id.account_type', '=', 'income')] + -sum + + + sub_balance2 + domain + [('account_id.account_type', '=', 'income_other')] + -sum + + + balance + aggregation + T1.sub_balance+T1.sub_balance2 + + + + + T2: Tax Rate + T2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T3: New Varied Tax Rate + T3 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T11: PAYG Income tax Instalment + T11 + 3 + + + + account_balance + account_codes + -92 + + + balance + aggregation + (T1.balance * ((T2.balance + T3.balance)/100)) - T11.account_balance + + + + + T4: Reason Code for Variation + T4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Fringe Benefits Tax + FBT + 0 + + + + F1: Fringe Benefits Tax Instalment amount + F1 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F2: Estimated FBT for the year + F2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F3: Varied amount payable for the Quarter + F3 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + F3.quarter_perc * F2.balance + + + + + F4: Reason Code for Variation + F4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+1C.balance+1E.balance+4.balance+5A.balance+6A.balance+7C.balance+7A.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 1C: Wine Equalisation Tax + 1C + 5 + + + + balance + tax_tags + -1C + + + + + 1E: Luxury Car Tax + 1E + 5 + + + + balance + tax_tags + -1E + + + + + 4: PAYG Tax Withheld + 4 + 5 + + + + balance + aggregation + W5.balance + + + + + 5A: PAYG Income Tax Instalment + 5A + 5 + + + + sub_balance + tax_tags + -T7 + + + balance + aggregation + 5A.sub_balance + if_above(CUR(0)) + + + + + 6A: FBT Instalment + 6A + 5 + + + + sub_balance + tax_tags + -F1 + + + balance + aggregation + 6A.sub_balance + if_above(CUR(0)) + + + + + 7C: Fuel tax credit over claim (Do not claim in litres) + 7C + 5 + + + + balance + tax_tags + -7C + + + + + 7A: Deferred GST + 7A + 5 + + + + balance + tax_tags + -7A + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+1D.balance+1F.balance+5B.balance+6B.balance+7D.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 1D: Wine Equalisation tax Refundable + 1D + 5 + + + + balance + tax_tags + 1D + + + + + 1F: Luxury car tax refundable + 1F + 5 + + + + balance + tax_tags + 1F + + + + + 5B: Credit from PAYG income tax instalment variation + 5B + 5 + + + + balance + aggregation + -5A.sub_balance + if_above(CUR(0)) + + + + + 6B: Credit from FBT Instalment Variation + 6B + 5 + + + + balance + aggregation + -6A.sub_balance + if_above(CUR(0)) + + + + + 7D: Fuel tax credit (Do not claim in litres) + 7D + 5 + + + + balance + tax_tags + 7D + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/l10n_au_chart_data.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/l10n_au_chart_data.xml deleted file mode 100644 index 5a0716f..0000000 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/l10n_au_chart_data.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - Australia - Chart of Accounts - 1111 - 1113 - 11170 - 5 - - - - diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/master_bas.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/master_bas.xml new file mode 100644 index 0000000..c298925 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/master_bas.xml @@ -0,0 +1,907 @@ + + + + Master BAS + + + tax_units + + previous_return_period + + + + Amount + balance + + + + + Goods and Services Tax + GST + 0 + + + + GST amounts you owe the Tax Office from sales + GST_OWED + 3 + + + + G1: Total Sales (including any GST) + G1 + 5 + + + + balance + tax_tags + -G1 + + + + + G2: Export sales + G2 + 7 + + + + balance + tax_tags + -G2 + + + + + G3: Other GST-free sales + G3 + 7 + + + + balance + tax_tags + -G3 + + + + + G4: Input taxed sales + G4 + 7 + + + + balance + tax_tags + -G4 + + + + + + + + + GST amounts the Tax Office owes you from purchases + GST_PAID + 3 + + + + G10: Capital purchases (including any GST) + G10 + 7 + + + + balance + tax_tags + G10 + + + + + G11: Non-capital purchases (including GST) + G11 + 7 + + + + balance + tax_tags + G11 + + + + + + + GST Calculations + GST_CALC + 3 + + + + GST Collected Calculation + GST_OWED_CALC + 5 + + + + G5: G2 + G3 + G4 + G5 + 7 + + + + balance + aggregation + G2.balance+G3.balance+G4.balance + + + + + G6: Total sales subject to GST (G1 minus G5) + G6 + 7 + + + + balance + aggregation + G1.balance-G5.balance + + + + + G7: Adjustments (if applicable) + G7 + 9 + + + + balance + tax_tags + -G7 + + + + + + + G8: Total sales subject to GST after adjustments (G6 + G7) + G8 + 7 + + + + balance + aggregation + G6.balance+G7.balance + + + + + G9: GST on sales (G8 divided by eleven) + G9 + 7 + + + + balance + aggregation + G8.balance/11 + + + + + + + GST Paid Calculation + GST_PAID_CALC + 5 + + + + G12: G10 + G11 + G12 + 7 + + + + balance + aggregation + G10.balance+G11.balance + + + + + G16: G13 + G14 + G15 + G16 + 7 + + + + balance + aggregation + G13.balance+G14.balance+G15.balance + + + + + G13: Purchases for making input taxed sales + G13 + 9 + + + + balance + tax_tags + G13 + + + + + G14: Purchases without GST in the price + G14 + 9 + + + + balance + tax_tags + G14 + + + + + G15: Estimated purchases for private use or not income tax deductible + G15 + 9 + + + + balance + tax_tags + G15 + + + + + + + G17: Total purchases subject to GST (G12 minus G16) + G17 + 7 + + + + balance + aggregation + G12.balance-G16.balance + + + + + G18: Adjustments (if applicable) + G18 + 7 + + + + balance + tax_tags + G18 + + + + + G19: Total purchases subject to GST after adjustments (G17 + G18) + G19 + 7 + + + + balance + aggregation + G17.balance+G18.balance + + + + + GST on purchases (G19 divided by eleven) + GP + 7 + + + + balance + aggregation + G19.balance/11 + + + + + GST only purchases + ONLY + 7 + + + + balance + tax_tags + ONLY + + + + + G20: GST on purchases + G20 + 7 + + + + balance + aggregation + GP.balance+ONLY.balance + + + + + + + + + + + PAYG Tax Withheld + PAYGW + 0 + + + + W1: Total salaries, wages and other payments + W1 + 3 + + + + balance + tax_tags + W1 + + + + + W2: Amounts withheld from W1 + W2 + 3 + + + + balance + tax_tags + -W2 + + + + + W4: Amounts withheld where no ABN is quoted + W4 + 3 + + + + balance + tax_tags + -W4 + + + + + W3: Other amounts withheld (not shown at W2 or W4) + W3 + 3 + + + + sub_balance + tax_tags + W3 + + + balance + aggregation + -W3.sub_balance + + + + + W5: Total amounts withheld (W2 + W4 + W3) + W5 + 3 + + + + balance + aggregation + W2.balance+W3.balance+W4.balance + + + + + + + PAYG Income Tax Instalment + PAYGI + 0 + + + + T7: PAYG Income Instalment + T7 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T8: Estimated tax for the year + T8 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T9: Varied amount payable for the Quater + T9 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + T9.quarter_perc * T8.balance + + + + + T1: PAYG Instalment Income + T1 + 3 + + + + sub_balance + domain + [('account_id.account_type', '=', 'income')] + -sum + + + sub_balance2 + domain + [('account_id.account_type', '=', 'income_other')] + -sum + + + balance + aggregation + T1.sub_balance+T1.sub_balance2 + + + + + T2: Tax Rate + T2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T3: New Varied Tax Rate + T3 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + T11: PAYG Income tax Instalment + T11 + 3 + + + + account_balance + account_codes + -92 + + + balance + aggregation + (T1.balance * ((T2.balance + T3.balance)/100)) - T11.account_balance + + + + + T4: Reason Code for Variation + T4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Fringe Benefits Tax + FBT + 0 + + + + F1: Fringe Benefits Tax Instalment amount + F1 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F2: Estimated FBT for the year + F2 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + F3: Varied amount payable + F3 + 3 + + + + quarter_perc + custom + _report_custom_engine_quarter_percentage + quarter + + + balance + aggregation + F3.quarter_perc * F2.balance + + + + + F4: Reason Code for Variation + F4 + 3 + + + + balance + external + most_recent + editable;rounding=2 + + + + + + + Summary + SUMMARY + 0 + + + + 8A: Amounts owed to ATO + 8A + 3 + + + + balance + aggregation + 1A.balance+1C.balance+1E.balance+4.balance+5A.balance+6A.balance+7A.balance+7.balance+7C.balance + + + + + 1A: GST on sales + 1A + 5 + + + + balance + aggregation + G9.balance + + + + + 1C: Wine Equalisation Tax + 1C + 5 + + + + balance + tax_tags + -1C + + + + + 1E: Luxury Car Tax + 1E + 5 + + + + balance + tax_tags + -1E + + + + + 4: PAYG Tax Withheld + 4 + 5 + + + + balance + aggregation + W5.balance + + + + + 5A: PAYG Income Tax Instalment + 5A + 5 + + + + sub_balance + tax_tags + -T7 + + + balance + aggregation + 5A.sub_balance + if_above(CUR(0)) + + + + + 6A: FBT Installment + 6A + 5 + + + + sub_balance + tax_tags + -F1 + + + balance + aggregation + 6A.sub_balance + if_above(CUR(0)) + + + + + 7: Deferred Instalment + 7 + 5 + + + + balance + tax_tags + -7 + + + + + 7A: Deferred GST + 7A + 5 + + + + balance + tax_tags + -7A + + + + + 7C: Fuel tax credit over claim + 7C + 5 + + + + balance + tax_tags + -7C + + + + + + + 8B: Amounts owed by ATO + 8B + 3 + + + + balance + aggregation + 1B.balance+1D.balance+1F.balance+5B.balance+6B.balance+7D.balance + + + + + 1B: GST on purchases + 1B + 5 + + + + balance + aggregation + G20.balance + + + + + 1D: Wine Equalisation tax Refundable + 1D + 5 + + + + balance + tax_tags + 1D + + + + + 1F: Luxury car tax refundable + 1F + 5 + + + + balance + tax_tags + 1F + + + + + 5B: Credit from PAYG income tax instalment variation + 5B + 5 + + + + balance + aggregation + -5A.sub_balance + if_above(CUR(0)) + + + + + 6B: Credit from FBT Installment Variation + 6B + 5 + + + + balance + aggregation + -6A.sub_balance + if_above(CUR(0)) + + + + + 7D: Fuel tax credit + 7D + 5 + + + + balance + tax_tags + 7D + + + + + + + 9: Liability to ATO + 9 + 3 + + + + balance + aggregation + 8A.balance-8B.balance + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.account-au.csv b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.account-au.csv new file mode 100644 index 0000000..69d53c9 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.account-au.csv @@ -0,0 +1,115 @@ +"id","code","name","account_type","tag_ids","tax_ids","reconcile","non_trade" +"au_11110","11110","Bank","asset_cash","","","False","" +"au_11130","11130","Petty Cash","asset_cash","","","False","" +"au_11140","11140","Cash Drawer","asset_cash","","","False","" +"au_11180","11180","Undeposited Funds","asset_current","","","True","" +"au_11190","11190","Electronic Clearing","asset_current","","","True","" +"au_11200","11200","Trade Debtors","asset_receivable","","","True","" +"au_11201","11201","Trade Debtors (PoS)","asset_receivable","","","True","" +"au_11210","11210","Less Prov'n for Doubtful Debts","asset_current","","","False","" +"au_11310","11310","Raw Materials","asset_current","","","False","" +"au_11320","11320","Finished Goods","asset_current","","","False","" +"au_11330","11330","Trading Stock on Hand","asset_current","","","False","" +"au_11340","11340","Goods Shipped not Invoiced","asset_current","","","False","" +"au_11350","11350","Work In Process (Inventory)","asset_current","","","False","" +"au_12100","12100","Deposits Paid","asset_prepayments","","","False","" +"au_12200","12200","Prepaid Expenses","asset_current","","","False","" +"au_13110","13110","Manufacturing Plant at Cost","asset_fixed","","","False","" +"au_13120","13120","Manufac. Plant Accum Dep","asset_fixed","","","False","" +"au_13130","13130","Manufacturing Equipment Cost","asset_fixed","","","False","" +"au_13140","13140","Manufac. Equip Accum Dep","asset_fixed","","","False","" +"au_13210","13210","Furniture & Fixtures at Cost","asset_fixed","","","False","" +"au_13220","13220","Furniture & Fixtures Accum Dep","asset_fixed","","","False","" +"au_13310","13310","Office Equip at Cost","asset_fixed","","","False","" +"au_13320","13320","Office Equip Accum Dep","asset_fixed","","","False","" +"au_13410","13410","Motor Vehicles at Cost","asset_fixed","","","False","" +"au_13420","13420","Motor Vehicles Accum Dep","asset_fixed","","","False","" +"au_21110","21110","Credit Card","liability_current","","","False","" +"au_21200","21200","Trade Creditors","liability_payable","","","True","" +"au_21210","21210","Goods Received not Billed","liability_current","","","False","" +"au_21300","21300","Wages & Salaries","liability_current","","","True","" +"au_21310","21310","GST Collected","liability_current","","","False","" +"au_21320","21320","BAS Payments","liability_payable","","","True","True" +"au_21330","21330","GST Paid","asset_current","","","False","" +"au_21340","21340","Deferred GST Liability","liability_current","l10n_au.account_tag_dgst","au_tax_dgst","False","" +"au_21350","21350","Fuel Tax Credits","liability_current","","","False","" +"au_21355","21355","WET Payable","liability_current","","","False","" +"au_21360","21360","Import Duty Payable","liability_current","","","False","" +"au_21365","21365","PAYG Income Tax Liability","liability_current","","","","" +"au_21370","21370","Voluntary Withholdings Payable","liability_current","","","False","" +"au_21380","21380","ABN Withholdings Payable","liability_current","","","False","" +"au_21390","21390","Fringe Benefits Tax Liability","liability_current","","","False","" +"au_21395","21395","Luxury Car Tax Liability","liability_current","","","False","" +"au_21400","21400","Superannuation","liability_current","","","True","" +"au_21410","21410","Payroll Accruals Payable","liability_current","","","False","" +"au_21420","21420","PAYG Withholding Payable","liability_current","","","False","" +"au_21500","21500","Child Support","liability_current","","","False","" +"au_21600","21600","Customer Deposits","liability_current","","","False","" +"au_21700","21700","Other Current Liabilities","liability_current","","","False","" +"au_21760","21760","Unearned Income from System","liability_current","","","False","" +"au_21800","21800","Deductions","liability_current","","","True","" +"au_22100","22100","Mortgages Payable","liability_non_current","","","False","" +"au_22200","22200","Notes Payable","liability_non_current","","","False","" +"au_22300","22300","Other Long Term Liabilities","liability_non_current","","","False","" +"au_31100","31100","Capital Investment","equity","","","False","" +"au_31200","31200","Capital Drawings","equity","","","False","" +"au_38000","38000","Retained Earnings","equity","","","False","" +"au_39000","39000","Current Year Earnings","equity_unaffected","","","False","" +"au_39999","39999","Historical Balancing","equity","","","False","" +"au_41110","41110","Sales Product #1","income","","","False","" +"au_41120","41120","Sales Product #2","income","","","False","" +"au_41130","41130","Sales Product #3","income","","","False","" +"au_42000","42000","Wholesale Sales","income","","","False","" +"au_43000","43000","Consignment Sales","income","","","False","" +"au_44000","44000","Freight Income","income","","","False","" +"au_45000","45000","Late Fees Collected","income_other","","","False","" +"au_46000","46000","Miscellaneous Income","income_other","","","False","" +"au_47000","47000","Fuel Tax Credits","income_other","","au_tax_sale_ftc","False","" +"au_51110","51110","Cost of Goods Sold #1","expense_direct_cost","","","False","" +"au_51120","51120","Cost of Goods Sold # 2","expense_direct_cost","","","False","" +"au_51130","51130","Cost of Goods Sold # 3","expense_direct_cost","","","False","" +"au_52000","52000","Wholesale Cost of Sales","expense_direct_cost","","","False","" +"au_53000","53000","Consignment Cost of Sales","expense_direct_cost","","","False","" +"au_54000","54000","Wages for Production Labour","expense_direct_cost","","","False","" +"au_55000","55000","Materials & Supplies","expense_direct_cost","","","False","" +"au_56000","56000","Freight","expense_direct_cost","","","False","" +"au_57000","57000","Other Costs","expense_direct_cost","","","False","" +"au_61000","61000","Advertising","expense","","","False","" +"au_61200","61200","Car & Truck Expenses","expense","","","False","" +"au_61300","61300","Commissions Paid","expense","","","False","" +"au_61500","61500","Depreciation Expense","expense_depreciation","","","False","" +"au_61610","61610","Discounts Given","expense","","","False","" +"au_61620","61620","Discounts Taken","expense","","","False","" +"au_61630","61630","Exchange Rate Loss","expense","","","False","" +"au_61640","61640","Exchange Rate Gain","income","","","False","" +"au_61700","61700","Freight Paid","expense","","","False","" +"au_61800","61800","Insurance","expense","","","False","" +"au_61910","61910","Overdraft Interest","expense","","","False","" +"au_61920","61920","Mortgage Interest","expense","","","False","" +"au_61930","61930","Other Interest","expense","","","False","" +"au_62000","62000","Late Fees Paid","expense","","","False","" +"au_62110","62110","Machinery & Equipment","expense","","","False","" +"au_62120","62120","Other Business Property","expense","","","False","" +"au_62200","62200","Legal & Professional Services","expense","","","False","" +"au_62300","62300","Office Expenses","expense","","","False","" +"au_62410","62410","Staff Amenities","expense","","","False","" +"au_62420","62420","Superannuation","expense","","","False","" +"au_62430","62430","Wages & Salaries","expense","","","False","" +"au_62440","62440","Workers' Compensation","expense","","","False","" +"au_62450","62450","Other Employer Expenses","expense","","","False","" +"au_62460","62460","Child Support","expense","","","False","" +"au_62500","62500","Repairs","expense","","","False","" +"au_62550","62550","Shrinkage/Spoilage","expense","","","False","" +"au_62600","62600","Supplies","expense","","","False","" +"au_62700","62700","Taxes","expense","","","False","" +"au_62800","62800","Telephone","expense","","","False","" +"au_62910","62910","Gas","expense","","","False","" +"au_62920","62920","Electricity","expense","","","False","" +"au_62930","62930","Water","expense","","","False","" +"au_63110","63110","Travel","expense","","","False","" +"au_63120","63120","Meals & Entertainment","expense","","","False","" +"au_81000","81000","Interest Income","income_other","","","False","" +"au_91000","91000","Interest Expense","expense","","","False","" +"au_92000","92000","Income Tax Paid","expense","","au_tax_sale_payg_i","False","" +"au_95000","95000","Fringe Benefits Tax Paid","expense","","au_tax_sale_fbt","False","" +"au_97000","97000","Luxury Car Tax Paid","expense","","au_tax_sale_lct","False","" diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.fiscal.position-au.csv b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.fiscal.position-au.csv new file mode 100644 index 0000000..1b5dfcd --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.fiscal.position-au.csv @@ -0,0 +1,5 @@ +"id","name","country_id" +"l10n_au_domestic_fiscal_position","AU Domestic","base.au" +"fiscal_position_os_partner","OS Partner","" +"fiscal_position_tpar_partner","TPAR","" +"fiscal_position_tpar_partner_no_abn","TPAR without ABN","" diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.tax-au.csv b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.tax-au.csv new file mode 100644 index 0000000..b3c4021 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.tax-au.csv @@ -0,0 +1,131 @@ +"id","name","sequence","description","invoice_label","type_tax_use","tax_scope","amount_type","price_include_override","amount","tax_group_id","children_tax_ids","repartition_line_ids/factor_percent","repartition_line_ids/repartition_type","repartition_line_ids/document_type","repartition_line_ids/account_id","repartition_line_ids/tag_ids","active","include_base_amount","fiscal_position_ids","original_tax_ids" +"au_tax_witheld","No ABN","1000","Tax Withheld for Partners without ABN","Witholding Tax for No ABN","purchase","service","percent","","-47.0","tax_group_withheld","","","base","invoice","","","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","au_21380","l10n_au.tax_withheld_tag||W4","","","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","tax","refund","au_21380","l10n_au.tax_withheld_tag||W4","","","","" +"au_tax_payg_w3","PAYGW - W3","1010","Other amounts withheld (excluding any amount shown at W2 or W4)","Other amounts withheld (W3)","purchase","service","division","","100.0","tax_group_withheld","","","base","invoice","","","True","True","","" +"","","","","","","","","","","","","","tax","invoice","au_21420","W3","","","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","tax","refund","au_21420","W3","","","","" +"au_tax_sale_10","10% GST","1","GST Sales","10% GST","sale","","percent","","10.0","tax_group_gst_10","","","base","invoice","","G1","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","au_21310","G1","","","","" +"","","","","","","","","","","","","","base","refund","","G1","","","","" +"","","","","","","","","","","","","","tax","refund","au_21310","G1","","","","" +"au_tax_sale_0","0% EX","3","GST Free on Export Sales","0% GST Free","sale","","percent","","0.0","tax_group_gst_0","","","base","invoice","","G1||G2","True","","fiscal_position_os_partner","au_tax_sale_10" +"","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","base","refund","","G1||G2","","","","" +"","","","","","","","","","","","","","tax","refund","","","","","","" +"au_tax_sale_exempt","0% F","4","GST Free Sales","0% Exempt","sale","","percent","","0.0","tax_group_gst_0","","","base","invoice","","G1||G3","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","base","refund","","G1||G3","","","","" +"","","","","","","","","","","","","","tax","refund","","","","","","" +"au_tax_sale_input","0% INP","5","Input Taxed Sales","0% Input Taxed Sales","sale","","percent","","0.0","tax_group_gst_0","","","base","invoice","","G1||G4","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","base","refund","","G1||G4","","","","" +"","","","","","","","","","","","","","tax","refund","","","","","","" +"au_tax_sale_adj","100% ADJ","6","This is for Adjustment, amounts can be modified to fit your needs","Tax Adjustments (Sales)","sale","","division","","100.0","tax_group_gst_100000000","","","base","invoice","","G7","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","au_21310","G7","","","","" +"","","","","","","","","","","","","","base","refund","","G7","","","","" +"","","","","","","","","","","","","","tax","refund","au_21310","G7","","","","" +"au_tax_purchase_10_service","10% GST","1","GST Purchases","10% GST","purchase","","percent","","10.0","tax_group_gst_10","","","base","invoice","","G11","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","au_21330","G11","","","","" +"","","","","","","","","","","","","","base","refund","","G11","","","","" +"","","","","","","","","","","","","","tax","refund","au_21330","G11","","","","" +"au_tax_purchase_10_service_tpar","10% GST TPAR","1","GST Purchases","GST Purchases","purchase","service","percent","","10.0","tax_group_gst_10","","","base","invoice","","G11","False","","fiscal_position_tpar_partner","au_tax_purchase_10_service" +"","","","","","","","","","","","","","tax","invoice","au_21330","G11||Service","","","","" +"","","","","","","","","","","","","","base","refund","","G11","","","","" +"","","","","","","","","","","","","","tax","refund","au_21330","G11||Service","","","","" +"au_tax_purchase_10_service_tpar_no_abn","10% GST TPAR NO ABN","1","GST Purchases","GST Purchases","purchase","service","group","","100.0","tax_group_gst_10","au_tax_purchase_10_service_tpar,au_tax_witheld","","","","","","False","","fiscal_position_tpar_partner_no_abn","au_tax_purchase_10_service" +"au_tax_purchase_capital_service","10% C","3","Capital Purchases","10% Capital Purchases","purchase","","percent","","10.0","tax_group_gst_10","","","base","invoice","","G10","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","au_21330","G10","","","","" +"","","","","","","","","","","","","","base","refund","","G10","","","","" +"","","","","","","","","","","","","","tax","refund","au_21330","G10","","","","" +"au_tax_purchase_capital_service_tpar","10% F TPAR","3","Capital Purchases","Capital Purchases","purchase","service","percent","","10.0","tax_group_gst_10","","","base","invoice","","G10","False","","fiscal_position_tpar_partner","au_tax_purchase_capital_service" +"","","","","","","","","","","","","","tax","invoice","au_21330","G10||Service","","","","" +"","","","","","","","","","","","","","base","refund","","G10","","","","" +"","","","","","","","","","","","","","tax","refund","au_21330","G10||Service","","","","" +"au_tax_purchase_capital_service_tpar_no_abn","10% F TPAR NO ABN","3","Capital Purchases","Capital Purchases","purchase","service","group","","100.0","tax_group_gst_10","au_tax_purchase_capital_service_tpar,au_tax_witheld","","","","","","False","","fiscal_position_tpar_partner_no_abn","au_tax_purchase_capital_service" +"au_tax_purchase_0_service","0% F","4","GST Free Purchases","0% GST Free","purchase","","percent","","0.0","tax_group_gst_0","","","base","invoice","","G11||G14","True","","l10n_au_domestic_fiscal_position,fiscal_position_os_partner","au_tax_purchase_10_service,au_tax_purchase_capital_service" +"","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","base","refund","","G11||G14","","","","" +"","","","","","","","","","","","","","tax","refund","","","","","","" +"au_tax_purchase_0_service_tpar","0% F TPAR","4","Zero Rated Purch TPAR","Zero Rated Purch TPAR","purchase","service","percent","","0.0","tax_group_gst_0","","","base","invoice","","G11||G14","False","","fiscal_position_tpar_partner","au_tax_purchase_0_service" +"","","","","","","","","","","","","","tax","invoice","","l10n_au.service_tag","","","","" +"","","","","","","","","","","","","","base","refund","","G11||G14","","","","" +"","","","","","","","","","","","","","tax","refund","","l10n_au.service_tag","","","","" +"au_tax_purchase_0_service_tpar_no_abn","0% F TPAR NO ABN","4","Zero Rated Purch TPAR without ABN","Zero Rated Purch TPAR without ABN","purchase","service","group","","100.0","tax_group_gst_0","au_tax_purchase_0_service_tpar,au_tax_witheld","","","","","","False","","fiscal_position_tpar_partner_no_abn","au_tax_purchase_0_service" +"au_tax_purchase_taxable_import_service","0% TPS","5","Purchase (Taxable Imports) - GST Paid Separately","0% GST Paid Separately","purchase","","division","","0.0","tax_group_gst_0","","","base","invoice","","G11||G14","True","","fiscal_position_os_partner","" +"","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","base","refund","","G11||G14","","","","" +"","","","","","","","","","","","","","tax","refund","","","","","","" +"au_tax_purchase_taxable_import_service_tpar","0% TPS TPAR","5","Purchase (Taxable Imports) - Tax Paid Separately","Purchase (Taxable Imports) - Tax Paid Separately","purchase","service","percent","","0.0","tax_group_gst_0","","","base","invoice","","l10n_au.service_tag||G11||G14","False","","fiscal_position_tpar_partner","" +"","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","base","refund","","l10n_au.service_tag||G11||G14","","","","" +"","","","","","","","","","","","","","tax","refund","","","","","","" +"au_tax_purchase_taxable_import_service_tpar_no_abn","0% TPS TPAR NO ABN","5","Purchase (Taxable Imports) - Tax Paid Separately","Purchase (Taxable Imports) - Tax Paid Separately","purchase","service","group","","100.0","tax_group_gst_0","au_tax_purchase_taxable_import_service_tpar,au_tax_witheld","","","","","","False","","fiscal_position_tpar_partner_no_abn","" +"au_tax_purchase_input_service","10% INP","6","Purchases for Input Taxed Sales","10% Purchases for Input Taxed Sales","purchase","","percent","","10.0","tax_group_gst_10","","","base","invoice","","G11||G13","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","","G11||G13","","","","" +"","","","","","","","","","","","","","base","refund","","G11||G13","","","","" +"","","","","","","","","","","","","","tax","refund","","G11||G13","","","","" +"au_tax_purchase_input_service_tpar","10% INP TPAR","6","Purchases for Input Taxed Sales","Purchases for Input Taxed Sales","purchase","service","percent","","10.0","tax_group_gst_10","","","base","invoice","","G11||G13","False","","fiscal_position_tpar_partner","au_tax_purchase_input_service" +"","","","","","","","","","","","","","tax","invoice","","G11||G13||Service","","","","" +"","","","","","","","","","","","","","base","refund","","G11||G13","","","","" +"","","","","","","","","","","","","","tax","refund","","G11||G13||Service","","","","" +"au_tax_purchase_input_service_tpar_no_abn","10% INP TPAR NO ABN","6","Purchases for Input Taxed Sales","Purchases for Input Taxed Sales","purchase","service","group","","100.0","tax_group_gst_10","au_tax_purchase_input_service_tpar,au_tax_witheld","","","","","","False","","fiscal_position_tpar_partner_no_abn","au_tax_purchase_input_service" +"au_tax_purchase_private_service","10% PRIV","7","Purchases for Private use or not deductible","10% Purchases for Private Use","purchase","","percent","","10.0","tax_group_gst_10","","","base","invoice","","G11||G15","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","","G11||G15","","","","" +"","","","","","","","","","","","","","base","refund","","G11||G15","","","","" +"","","","","","","","","","","","","","tax","refund","","G11||G15","","","","" +"au_tax_purchase_private_service_tpar","10% PRIV TPAR","7","Purchases for Private use or not deductible","Purchases for Private use or not deductible","purchase","service","percent","","10.0","tax_group_gst_10","","","base","invoice","","G11||G15","False","","fiscal_position_tpar_partner","au_tax_purchase_private_service" +"","","","","","","","","","","","","","tax","invoice","","G11||G15||Service","","","","" +"","","","","","","","","","","","","","base","refund","","G11||G15","","","","" +"","","","","","","","","","","","","","tax","refund","","G11||G15||Service","","","","" +"au_tax_purchase_private_service_tpar_no_abn","10% PRIV TPAR NO ABN","7","Purchases for Private use or not deductible","Purchases for Private use or not deductible","purchase","service","group","","100.0","tax_group_gst_10","au_tax_purchase_private_service_tpar,au_tax_witheld","","","","","","False","","fiscal_position_tpar_partner_no_abn","au_tax_purchase_private_service" +"au_tax_purchase_gst_only_service","100% ONLY","8","GST Only on Imports","GST Only on Imports","purchase","","division","tax_included","100.0","tax_group_gst_100000000","","","base","invoice","","","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","au_21330","ONLY","","","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","tax","refund","au_21330","ONLY","","","","" +"au_tax_purchase_gst_only_service_tpar","100% ONLY TPAR","8","GST Only on Imports","GST Only on Imports","purchase","service","division","tax_included","100.0","tax_group_gst_100000000","","","base","invoice","","","False","","fiscal_position_tpar_partner","au_tax_purchase_gst_only_service" +"","","","","","","","","","","","","","tax","invoice","au_21330","ONLY||Service","","","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","tax","refund","au_21330","ONLY||Service","","","","" +"au_tax_purchase_gst_only_service_tpar_no_abn","100% ONLY TPAR NO ABN","8","GST Only on Imports","GST Only on Imports","purchase","service","group","","100.0","tax_group_gst_100000000","au_tax_purchase_gst_only_service_tpar,au_tax_witheld","","","","","","False","","fiscal_position_tpar_partner_no_abn","au_tax_purchase_gst_only_service" +"au_tax_purchase_adj_service","100% ADJ","9","Tax Adjustments (Purchases)","Tax Adjustments (Purchases)","purchase","","division","","100.0","tax_group_gst_100000000","","","base","invoice","","G18","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","","tax","invoice","au_21330","G18","","","","" +"","","","","","","","","","","","","","base","refund","","G18","","","","" +"","","","","","","","","","","","","","tax","refund","au_21330","G18","","","","" +"au_tax_purchase_adj_service_tpar","100% ADJ TPAR","9","Tax Adjustments (Purchases)","Tax Adjustments (Purchases)","purchase","service","division","","100.0","tax_group_gst_100000000","","","base","invoice","","G18","False","","fiscal_position_tpar_partner","au_tax_purchase_adj_service" +"","","","","","","","","","","","","","tax","invoice","au_21330","G18||Service","","","","" +"","","","","","","","","","","","","","base","refund","","G18","","","","" +"","","","","","","","","","","","","","tax","refund","au_21330","G18||Service","","","","" +"au_tax_purchase_adj_service_tpar_no_abn","100% ADJ TPAR NO ABN","9","Tax Adjustments (Purchases)","Tax Adjustments (Purchases)","purchase","service","group","","100.0","tax_group_gst_100000000","au_tax_purchase_adj_service_tpar,au_tax_witheld","","","","","","False","","fiscal_position_tpar_partner_no_abn","au_tax_purchase_adj_service" +"au_tax_dgst","100% DGST","8","Deferred GST Liability","100% DGST","none","","division","tax_included","100.0","tax_group_gst_100000000","","","base","invoice","","","False","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","-100","tax","invoice","au_21340","G18||7A","","","","" +"","","","","","","","","","","","","100","tax","invoice","au_21330","G11||ONLY","","","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","-100","tax","refund","au_21340","G18||7A","","","","" +"","","","","","","","","","","","","100","tax","refund","au_21330","G11||ONLY","","","","" +"au_tax_sale_lct","LCT","33","Luxury Car Tax","Luxury Car Tax Amount","sale","","percent","tax_included","-100","","","","base","invoice","","","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","100","tax","invoice","au_21395","1F","","True","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","100","tax","refund","au_21395","1E","","True","","" +"au_tax_sale_fbt","FBT","34","Fringe Benefits Tax","Fringe Benefits Tax Amount","sale","","percent","","-100","","","","base","invoice","","","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","100","tax","invoice","au_21390","F1","","True","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","100","tax","refund","au_21390","F1","","True","","" +"au_tax_sale_ftc","FTC","35","Fuel Tax Credits","Fuel Tax Credits Amount","sale","","percent","","-100","","","","base","invoice","","","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","100","tax","invoice","au_21350","7D","","True","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","100","tax","refund","au_21350","7C","","True","","" +"au_tax_sale_payg_i","PAYG-I","36","Pay as You Go Income Tax","Pay as You Go Income Tax Amount","sale","","percent","","-100","","","","base","invoice","","","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","100","tax","invoice","au_21365","T7","","True","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","100","tax","refund","au_21365","T7","","True","","" +"au_tax_sale_payg_w","PAYG-W","37","Pay as You Go Withholding","Pay as You Go Withholding Amount","sale","","percent","","-100","","","","base","invoice","","W1","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","100","tax","invoice","au_21420","W2","","True","","" +"","","","","","","","","","","","","","base","refund","","W1","","","","" +"","","","","","","","","","","","","100","tax","refund","au_21420","W2","","True","","" +"au_tax_sale_wet","WET","38","Wine Equalisation Tax","Wine Equalisation Tax Amount","sale","","percent","","29","","","","base","invoice","","","True","","l10n_au_domestic_fiscal_position","" +"","","","","","","","","","","","","100","tax","invoice","au_21355","1C","","True","","" +"","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","100","tax","refund","au_21355","1C","","True","","" diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.tax.group-au.csv b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.tax.group-au.csv new file mode 100644 index 0000000..f912758 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/data/template/account.tax.group-au.csv @@ -0,0 +1,5 @@ +"id","name","country_id","tax_payable_account_id","tax_receivable_account_id" +"tax_group_gst_0","GST 0%","base.au","au_21320","au_21320" +"tax_group_gst_10","GST 10%","base.au","au_21320","au_21320" +"tax_group_gst_100000000","GST 100%","base.au","au_21320","au_21320" +"tax_group_withheld","Withheld","base.au","au_21320","au_21320" diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/demo/demo_company.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/demo/demo_company.xml index 6e7a85c..767bf0a 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/demo/demo_company.xml +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/demo/demo_company.xml @@ -1,6 +1,6 @@ - + AU Company 11 225 459 588 Henry Lawson Drive @@ -11,24 +11,27 @@ +61 412 345 678 info@company.auexample.com www.auexample.com + - + AU Company - + - + - + - - + + au + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/demo/res_bank.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/demo/res_bank.xml new file mode 100644 index 0000000..9f28c6c --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/demo/res_bank.xml @@ -0,0 +1,9 @@ + + + + + Commonwealth Bank of Australia + CTBAAU2S + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/__init__.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/__init__.py index 4d58e92..5cf4dab 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/__init__.py @@ -1,4 +1,8 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import template_au from . import account_move -from . import chart_template +from . import res_partner_bank +from . import account_payment +from . import res_partner +from . import res_company diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/account_move.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/account_move.py index d18d2b7..ff1faff 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/account_move.py +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/account_move.py @@ -6,6 +6,26 @@ class AccountMove(models.Model): _inherit = 'account.move' def _get_name_invoice_report(self): - if self.company_id.account_fiscal_country_id.code == 'AU': + if self.company_id.account_fiscal_country_id.code == 'AU' and self.company_id.l10n_au_is_gst_registered: return 'l10n_au.report_invoice_document' return super()._get_name_invoice_report() + + def _get_automatic_balancing_account(self): + """ Override to manage the DGST use case. + We want the automatic line to balance the DGST account to itself, as we only want the tax lines to have a real + impact. + """ + # OVERRIDE account + self.ensure_one() + + # We only consider moves comprised of a single DGST line. (one invoice line, one tax) + has_single_line = len(self.invoice_line_ids) == 1 and len(self.invoice_line_ids.tax_ids) == 1 + if has_single_line and self.move_type == 'entry': + # We identify that it is DGST based on a tag on the account. + # This is the simplest solution to keep it configurable while avoiding a new setting for a niche feature. + # At worse, they don't get the correct account assigned automatically and need manual adjustment. + with_dgst_account = self.invoice_line_ids.account_id.tag_ids == self.env.ref("l10n_au.account_tag_dgst") + if with_dgst_account: + # In this case, we want the balancing line to balance IN THE SAME ACCOUNT. + return self.invoice_line_ids.account_id.id + return super()._get_automatic_balancing_account() diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/account_payment.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/account_payment.py new file mode 100644 index 0000000..0de1a35 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/account_payment.py @@ -0,0 +1,13 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import models, api, _ + + +class AccountPayment(models.Model): + _inherit = 'account.payment' + + @api.depends('country_code', 'partner_type') + def _compute_payment_receipt_title(self): + # OVERRIDE + super()._compute_payment_receipt_title() + for payment in self.filtered(lambda p: p.country_code == 'AU' and p.partner_type == 'supplier'): + payment.payment_receipt_title = _('Remittance Advice') diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/chart_template.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/chart_template.py deleted file mode 100644 index 487f9cd..0000000 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/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, fields - - -class AccountChartTemplate(models.Model): - _inherit = 'account.chart.template' - - def _load(self, company): - res = super()._load(company) - if self == self.env.ref("l10n_au.l10n_au_chart_template"): - company.write({ - 'fiscalyear_last_month': '6', - 'fiscalyear_last_day': 30, - # Changing the opening date to the first day of the fiscal year. - # This way the opening entries will be set to the 30th of June. - 'account_opening_date': fields.Date.context_today(self).replace(month=7, day=1), - }) - return res diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_company.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_company.py new file mode 100644 index 0000000..0d16745 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_company.py @@ -0,0 +1,8 @@ +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + l10n_au_is_gst_registered = fields.Boolean(string="Australia GST registered", help="Enable if your company is registered for GST.") + l10n_au_trading_name = fields.Char(string="Trading Name", help="The trading name of the company.") diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_partner.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_partner.py new file mode 100644 index 0000000..39ad234 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_partner.py @@ -0,0 +1,10 @@ +from odoo import models, _ + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + def _get_company_registry_labels(self): + labels = super()._get_company_registry_labels() + labels['AU'] = _("ACN") + return labels diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_partner_bank.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_partner_bank.py new file mode 100644 index 0000000..ea2f4f3 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/res_partner_bank.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import re + +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + + +class ResPartnerBank(models.Model): + _inherit = "res.partner.bank" + + aba_bsb = fields.Char(string='BSB', help='Bank State Branch code - needed if payment is to be made using ABA files') + + @api.model + def _get_supported_account_types(self): + rslt = super(ResPartnerBank, self)._get_supported_account_types() + rslt.append(('aba', _('ABA'))) + return rslt + + @api.constrains('aba_bsb') + def _validate_aba_bsb(self): + for record in self: + if record.aba_bsb: + test_bsb = re.sub('( |-)', '', record.aba_bsb) + if len(test_bsb) != 6 or not test_bsb.isdigit(): + raise ValidationError(_('BSB is not valid (expected format is "NNN-NNN"). Please rectify.')) + + @api.depends('acc_number') + def _compute_acc_type(self): + """ Criteria to be an ABA account: + - Spaces, hypens, digits are valid. + - Total length must be 9 or less. + - Cannot be only spaces, zeros or hyphens (must have at least one digit in range 1-9) + """ + super()._compute_acc_type() + for rec in self: + if rec.acc_type == 'bank' and re.match(r"^(?=.*[1-9])[ \-\d]{0,9}$", rec.acc_number or ''): + rec.acc_type = 'aba' diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/template_au.py b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/template_au.py new file mode 100644 index 0000000..1522fbb --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/models/template_au.py @@ -0,0 +1,50 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import models +from odoo.addons.account.models.chart_template import template + + +class AccountChartTemplate(models.AbstractModel): + _inherit = 'account.chart.template' + + @template('au') + def _get_au_template_data(self): + return { + 'code_digits': '5', + 'property_account_receivable_id': 'au_11200', + 'property_stock_account_production_cost_id': 'au_11350', + 'property_account_payable_id': 'au_21200', + 'property_stock_valuation_account_id': 'au_11330', + } + + @template('au', 'res.company') + def _get_au_res_company(self): + return { + self.env.company.id: { + 'anglo_saxon_accounting': True, + 'account_fiscal_country_id': 'base.au', + 'bank_account_code_prefix': '1111', + 'cash_account_code_prefix': '1113', + 'transfer_account_code_prefix': '11170', + 'account_default_pos_receivable_account_id': 'au_11201', + 'income_currency_exchange_account_id': 'au_61640', + 'expense_currency_exchange_account_id': 'au_61630', + 'account_journal_early_pay_discount_loss_account_id': 'au_61610', + 'account_journal_early_pay_discount_gain_account_id': 'au_61620', + 'fiscalyear_last_month': '6', + 'fiscalyear_last_day': 30, + 'account_sale_tax_id': 'au_tax_sale_10', + 'account_purchase_tax_id': 'au_tax_purchase_10_service', + 'income_account_id': 'au_41110', + 'expense_account_id': 'au_51110', + 'account_stock_journal_id': 'inventory_valuation', + 'account_stock_valuation_id': 'au_11310', + }, + } + + @template('au', 'account.account') + def _get_au_account_account(self): + return { + 'au_11310': { + 'account_stock_variation_id': 'au_51110', + }, + } diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/static/description/icon.png b/odoo-bringout-oca-ocb-l10n_au/l10n_au/static/description/icon.png deleted file mode 100644 index c36cb8d..0000000 Binary files a/odoo-bringout-oca-ocb-l10n_au/l10n_au/static/description/icon.png and /dev/null differ diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/static/description/icon.svg b/odoo-bringout-oca-ocb-l10n_au/l10n_au/static/description/icon.svg deleted file mode 100644 index b0263ad..0000000 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/static/description/icon.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/menuitems.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/menuitems.xml index 4b7e56c..a1e659e 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/menuitems.xml +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/menuitems.xml @@ -1,4 +1,4 @@ - + diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/report_invoice.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/report_invoice.xml index 8f5233c..a7e32f4 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/report_invoice.xml +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/report_invoice.xml @@ -1,30 +1,62 @@ + + + - - - - diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/res_company_views.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/res_company_views.xml index 5bda46d..6451696 100644 --- a/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/res_company_views.xml +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/res_company_views.xml @@ -7,19 +7,19 @@ - 1 + + + + + + - - - 1 + + + + - - diff --git a/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/res_partner_bank_views.xml b/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/res_partner_bank_views.xml new file mode 100644 index 0000000..246fbd3 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_au/l10n_au/views/res_partner_bank_views.xml @@ -0,0 +1,13 @@ + + + + aba.res.partner.bank.form + res.partner.bank + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_au/pyproject.toml b/odoo-bringout-oca-ocb-l10n_au/pyproject.toml index 64acac8..6290825 100644 --- a/odoo-bringout-oca-ocb-l10n_au/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_au/pyproject.toml @@ -1,12 +1,14 @@ [project] name = "odoo-bringout-oca-ocb-l10n_au" version = "16.0.0" -description = "Australia - Accounting - Odoo addon" +description = "Australia - Accounting - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-account>=16.0.0", + "odoo-bringout-oca-ocb-account>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -16,7 +18,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_cn/README.md b/odoo-bringout-oca-ocb-l10n_cn/README.md index 3271e43..ca6a255 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/README.md +++ b/odoo-bringout-oca-ocb-l10n_cn/README.md @@ -18,7 +18,9 @@ State Data/省份数据 修改小企业会计税率 -We added the option to print a voucher which will also + 增加大企业会计科目表 + +We added the option to print a voucher which will also print the amount in words (special Chinese characters for numbers) correctly when the cn2an library is installed. (e.g. with pip3 install cn2an) @@ -31,37 +33,15 @@ pip install odoo-bringout-oca-ocb-l10n_cn ## Dependencies -This addon depends on: - base - account -- l10n_multilang - -## Manifest Information - -- **Name**: China - Accounting -- **Version**: 1.9 -- **Category**: Accounting/Localizations/Account Charts -- **License**: LGPL-3 -- **Installable**: False ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_cn`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_cn ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/__init__.py b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/__init__.py index 9575d89..813b662 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/__init__.py @@ -4,9 +4,3 @@ # Copyright (C) 2007-2014 Jeff Wang(). from . import models - -from odoo import api, SUPERUSER_ID - -def load_translations(cr, registry): - env = api.Environment(cr, SUPERUSER_ID, {}) - env.ref('l10n_cn.l10n_chart_china_small_business').process_coa_translations() diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/__manifest__.py b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/__manifest__.py index be2bf7e..0827c72 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/__manifest__.py @@ -1,19 +1,13 @@ -# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. - -# Copyright (C) 2008-2008 凯源吕鑫 lvxin@gmail.com -# 维智众源 oldrev@gmail.com -# Copyright (C) 2012-2012 南京盈通 ccdos@intoerp.com -# Copyright (C) 2008-now 开阖软件 jeff@osbzr.com < PM and LTS > -# Copyright (C) 2018-now jeffery9@gmail.com - { 'name': 'China - Accounting', - 'version': '1.9', + 'icon': '/account/static/description/l10n.png', + 'countries': ['cn'], + 'version': '1.8', 'category': 'Accounting/Localizations/Account Charts', - 'author': 'www.openerp-china.org', + 'author': 'openerp-china', 'maintainer': 'jeff@osbzr.com', - 'website': 'http://openerp-china.org', + 'website': 'https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations.html', 'description': r""" Includes the following data for the Chinese localization ======================================================== @@ -32,25 +26,25 @@ State Data/省份数据 修改小企业会计税率 -We added the option to print a voucher which will also + 增加大企业会计科目表 + +We added the option to print a voucher which will also print the amount in words (special Chinese characters for numbers) correctly when the cn2an library is installed. (e.g. with pip3 install cn2an) """, - 'depends': ['base', 'account', 'l10n_multilang'], + 'depends': [ + 'base', + 'account', + ], + 'auto_install': ['account'], 'data': [ - 'data/account_tax_group_data.xml', - 'data/l10n_cn_chart_data.xml', - 'data/account.account.template.csv', - 'data/l10n_cn_chart_post_data.xml', - 'data/account_tax_template_data.xml', - 'data/account_chart_template_data.xml', 'views/account_move_view.xml', 'views/account_report.xml', 'views/report_voucher.xml', ], 'demo': [ 'demo/demo_company.xml', + 'demo/demo_company_asbe.xml', ], - 'post_init_hook': 'load_translations', 'license': 'LGPL-3', } diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account.account.template.csv b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account.account.template.csv deleted file mode 100644 index 28fccae..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account.account.template.csv +++ /dev/null @@ -1,77 +0,0 @@ -"id","name","code","account_type","chart_template_id/id","reconcile" -"l10n_cn_1012","Other Monetary Funds","1012","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1101","Transactional Financial Assets","1101","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1121","Bills Receivable","1121","asset_receivable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_1122","Accounts Receivable","1122","asset_receivable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_1123","Advance Payment","1123","asset_prepayments","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1124","Accounts Receivable (PoS)","1124","asset_receivable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_1131","Divident Receivable","1131","asset_receivable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_1132","Interest Receivable","1132","asset_receivable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_1221","Other Receivable","1221","asset_receivable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_1231","Bad Debt Provisions","1231","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1401","Material Purchasing","1401","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1402","Materials in transit","1402","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1403","Raw Material","1403","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1404","Material Cost Variance","1404","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1405","Merchandise Inventory","1405","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1406","Goods shipped in transit","1406","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1407","Differences between purchasing and selling price","1407","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1408","Consigned processing materials","1408","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1471","Inventory falling price reserves","1471","asset_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1501","Held to maturity Investment","1501","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1502","Provision for impairment of investments held to maturity","1502","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1503","Available for sale financial assets","1503","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1511","Long-term equity investment","1511","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1512","Impairment provision for long-term equity investments","1512","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1521","Investmental real estate","1521","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1531","Long-term receivables","1531","asset_non_current","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_1601","Fixed assets","1601","asset_fixed","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1602","Accumulated depreciation","1602","expense_depreciation","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1603","Fixed assets depreciation reserves","1603","expense_depreciation","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1604","Construction in progress","1604","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1605","Engineering materials","1605","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1606","Liquidation of fixed assets","1606","expense_depreciation","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1701","Intangible Assets","1701","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1702","Accumulated amortization","1702","expense_depreciation","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1703","Intangible Assets Depreciation Reserves","1703","expense_depreciation","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1711","Goodwill","1711","asset_non_current","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_1801","Long-term amortized expenses","1801","expense_depreciation","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_2001","Short-term borrowing","2001","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2201","Bills Payable","2201","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2202","Accounts Payable","2202","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2203","Deposit Received","2203","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2211","Payroll payable","2211","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2221","Tax payable","2221","liability_current","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2231","Interest payable","2231","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2241","Dividents payable","2241","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2501","Other payable","2501","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2502","Bonds Payable","2502","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2701","Long Term payables","2701","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2711","Account payable special funds","2711","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2801","Projected liabilities","2801","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_2901","Deferred Tax Liability","2901","liability_payable","l10n_cn.l10n_chart_china_small_business","True" -"l10n_cn_4001","Paid in capital","4001","equity","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_4002","Capital Surplus","4002","equity","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_4003","Other Comprehensive Income","4003","equity","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_4101","Surplus Reserve","4101","equity","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_4103","Profit for the year","4103","equity","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_4104","Profit distribution","4104","equity","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_5001","Production Costs","5001","expense_direct_cost","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_5101","Manufacturing Expenses","5101","expense_direct_cost","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_5201","Service Cost","5201","expense_direct_cost","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_5301","R & D expenditure","5301","expense_direct_cost","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6001","Main Business Income","6001","income","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6051","Other Business Income","6051","income_other","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6101","Gains and Losses of fair value change","6101","income_other","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6111","Income from investment","6111","income_other","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6301","Non-operating Income","6301","income_other","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6401","Main Business Cost","6401","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6402","Other Operating Costs","6402","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6403","Operating Taxes and Surcharges","6403","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6601","Selling Expenses","6601","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6602","Management Expenses","6602","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6603","Financial Expenses","6603","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6701","Assets impairment Loss","6701","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6711","Non-operating expenses","6711","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6801","Income Tax Expense","6801","expense","l10n_cn.l10n_chart_china_small_business","False" -"l10n_cn_6901","Prior year income adjustment","6901","expense","l10n_cn.l10n_chart_china_small_business","False" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_chart_template_data.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_chart_template_data.xml deleted file mode 100644 index 9c834e1..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_chart_template_data.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_tax_group_data.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_tax_group_data.xml deleted file mode 100644 index e03a804..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_tax_group_data.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - VAT 6% - - - - VAT 9% - - - - VAT 13% - - - diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_tax_template_data.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_tax_template_data.xml deleted file mode 100644 index a965b19..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/account_tax_template_data.xml +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - 税收13%(含) - 税收13% - 13 - percent - sale - - - - - - - - 税收9%(含) - 税收9% - 9 - percent - sale - - - - - - - - 税收6%(含) - 税收6% - 6 - percent - sale - - - - - - - - - 税收13% - 税收13% - 13 - percent - sale - - - - - - - - 税收9% - 税收9% - 9 - percent - sale - - - - - - - - 税收6% - 税收6% - 6 - percent - sale - - - - - - - - - 税收13% - 税收13% - 13 - percent - purchase - - - - - - - - 税收9% - 税收9% - 9 - percent - purchase - - - - - - - - 税收6% - 税收6% - 6 - percent - purchase - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/l10n_cn_chart_data.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/l10n_cn_chart_data.xml deleted file mode 100644 index c997bdb..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/l10n_cn_chart_data.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - 小企业会计科目表(财会[2011]17号《小企业会计准则》) - - - 1001 - 1002 - 1012 - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/l10n_cn_chart_post_data.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/l10n_cn_chart_post_data.xml deleted file mode 100644 index ceecd58..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/l10n_cn_chart_post_data.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn.csv b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn.csv new file mode 100644 index 0000000..0453472 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn.csv @@ -0,0 +1,75 @@ +"id","code","name","account_type","reconcile","name@zh_CN" +"l10n_cn_account_1003","1003","Credit Card","liability_credit_card","True","信用卡" +"l10n_cn_account_101201","101201","Bank Suspense Account","asset_current","False","银行待清算账户" +"l10n_cn_account_101202","101202","Liquidity Transfer","asset_current","True","流动性转账" +"l10n_cn_account_1101","1101","Short-Term Investment","asset_current","False","短期投资" +"l10n_cn_account_122101","122101","Tax Paid","asset_current","False","已付税金" +"l10n_cn_account_122102","122102","Tax Receivable","asset_current","False","应收税金" +"l10n_cn_account_1231","1231","Other Current Assets","asset_current","False","其他流动资产" +"l10n_cn_account_140201","140201","Stock Interim (Received)","asset_current","False","暂收存货" +"l10n_cn_account_140202","140202","Stock Interim (Delivered)","asset_current","False","暂付存货" +"l10n_cn_account_1406","1406","Work In Progress","asset_current","False","在产品" +"l10n_cn_account_140601","140601","Work In Progress Overhead","asset_current","False","在产品费用" +"l10n_cn_account_1501","1501","Long-Term Bond Investment","asset_non_current","False","长期债券投资" +"l10n_cn_account_1602","1602","Tangible Assets Depreciation","asset_fixed","False","有形资产折旧" +"l10n_cn_account_1604","1604","Construction In Progress","asset_fixed","False","在建工程" +"l10n_cn_account_1605","1605","Construction Materials","asset_fixed","False","工程物资" +"l10n_cn_account_1606","1606","Liquidation Of Fixed Assets","asset_fixed","False","固定资产清理" +"l10n_cn_account_1621","1621","Productive Biological Assets","asset_fixed","False","生产性生物资产" +"l10n_cn_account_1622","1622","Accumulated Depreciation Of Productive Biological Assets","asset_fixed","False","生产性生物资产累计折旧" +"l10n_cn_account_1802","1802","Research And Development (R&D) Costs","asset_non_current","False","开发支出" +"l10n_cn_account_2232","2232","Profit Payable","liability_current","False","应付利润" +"l10n_cn_account_2301","2301","Other Current Liabilities","liability_current","False","其他流动负债" +"l10n_cn_account_2801","2801","Other Non-Current Liabilities","liability_non_current","False","其他非流动负债" +"l10n_cn_account_3001","3001","Paid-In Capital","equity","False","实收资本" +"l10n_cn_account_3002","3002","Capital Reserve","equity","False","资本公积" +"l10n_cn_account_3101","3101","Surplus Reserve","equity","False","盈余公积" +"l10n_cn_account_3103","3103","Current Year Profit","equity_unaffected","False","本年利润" +"l10n_cn_account_3104","3104","Profit Distribution","equity","False","利润分配" +"l10n_cn_account_4001","4001","Production Costs","expense_direct_cost","False","生产成本" +"l10n_cn_account_4101","4101","Depreciation","expense_direct_cost","False","制造费用" +"l10n_cn_account_4301","4301","R&D Expenditure","expense_direct_cost","False","研发支出" +"l10n_cn_account_4401","4401","Construction Cost","expense_direct_cost","False","工程施工" +"l10n_cn_account_4403","4403","Cost Of Repair","expense_direct_cost","False","机械作业" +"l10n_cn_account_5001","5001","Revenue","income","False","主营业务收入" +"l10n_cn_account_5051","5051","Other Operating Income","income","False","其他业务收入" +"l10n_cn_account_5111","5111","Income From Investments","income","False","投资收益" +"l10n_cn_account_5301","5301","Non-Operating Income","income_other","False","营业外收入" +"l10n_cn_account_530101","530101","Government Subsidies","income_other","False","政府补助" +"l10n_cn_account_530102","530102","Foreign Exchange Gain","income_other","False","汇兑收益" +"l10n_cn_account_530103","530103","Cash Difference Gain","income_other","False","现金溢余收益" +"l10n_cn_account_530104","530104","Cash Discount Gain","income_other","False","现金折扣收益" +"l10n_cn_account_5401","5401","Main Business Costs","expense_direct_cost","False","主营业务成本" +"l10n_cn_account_5402","5402","Other Business Costs","expense_direct_cost","False","其他业务成本" +"l10n_cn_account_5403","5403","Operating Taxes And Surcharges","expense","False","营业税金及附加" +"l10n_cn_account_540301","540301","Consumption Tax","expense","False","消费税" +"l10n_cn_account_540302","540302","Business Taxes And Surcharges","expense","False","营业税" +"l10n_cn_account_540303","540303","Urban Maintenance And Construction Tax","expense","False","城市维护建设税" +"l10n_cn_account_540304","540304","Resource Tax","expense","False","资源税" +"l10n_cn_account_540305","540305","Land Value Added Tax","expense","False","土地增值税" +"l10n_cn_account_540306","540306","Urban Land Use Tax","expense","False","城镇土地使用税" +"l10n_cn_account_540307","540307","Property Tax","expense","False","房产税" +"l10n_cn_account_540308","540308","Vehicle And Vessel Tax","expense","False","车船税" +"l10n_cn_account_540309","540309","Stamp Duty","expense","False","印花税" +"l10n_cn_account_540310","540310","Education Fee Surcharge","expense","False","教育费附加" +"l10n_cn_account_540311","540311","Mineral Resource Compensation Fee","expense","False","矿产资源补偿费" +"l10n_cn_account_540312","540312","Pollution Discharge Fee","expense","False","排污费" +"l10n_cn_account_5601","5601","Sales Expenses","expense","False","销售费用" +"l10n_cn_account_560101","560101","Product Repair Fee","expense","False","商品维修费" +"l10n_cn_account_560102","560102","Advertising And Promotion Expenses","expense","False","广告费和业务宣传费" +"l10n_cn_account_5602","5602","Administrative Expenses","expense","False","管理费用" +"l10n_cn_account_560201","560201","Start-Up Expense","expense","False","开办费" +"l10n_cn_account_560202","560202","Entertainment Expenses","expense","False","业务招待费" +"l10n_cn_account_560203","560203","Research Expense","expense","False","研究费用" +"l10n_cn_account_5603","5603","Financial Expenses","expense","False","财务费用" +"l10n_cn_account_560301","560301","Interest Expenses","expense","False","利息费用" +"l10n_cn_account_560302","560302","Foreign Exchange Loss","expense","False","汇兑损失" +"l10n_cn_account_560303","560303","Cash Difference Loss","expense","False","现金短缺损失" +"l10n_cn_account_560304","560304","Cash Discount Loss","expense","False","现金折扣损失" +"l10n_cn_account_5711","5711","Non-Operating Expenses","expense","False","营业外支出" +"l10n_cn_account_571101","571101","Bad Debt Expenses","expense","False","坏账损失" +"l10n_cn_account_571102","571102","Unrecoverable Losses On Long-Term Bond Investments","expense","False","无法收回的长期债券投资损失" +"l10n_cn_account_571103","571103","Unrecoverable Losses On Long-Term Equity Investments","expense","False","无法收回的长期股权投资损失" +"l10n_cn_account_571104","571104","Losses Caused By Force Majeure Factors Such As Natural Disasters","expense","False","自然灾害等不可抗力因素造成的损失" +"l10n_cn_account_571105","571105","Late Tax Payment Expenses","expense","False","税收滞纳金" +"l10n_cn_account_5801","5801","Income Tax Expenses","expense","False","所得税费用" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn_common.csv b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn_common.csv new file mode 100644 index 0000000..c64306b --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn_common.csv @@ -0,0 +1,38 @@ +"id","code","name","account_type","reconcile","name@zh_CN" +"l10n_cn_common_account_1001","1001","Cash On Hand","asset_cash","True","库存现金" +"l10n_cn_common_account_1002","1002","Bank Savings","asset_cash","True","银行存款" +"l10n_cn_common_account_1012","1012","Other Monetary Funds","asset_current","False","其他货币资金" +"l10n_cn_common_account_1121","1121","Notes Receivable","asset_current","False","应收票据" +"l10n_cn_common_account_1122","1122","Accounts Receivable","asset_receivable","True","应收账款" +"l10n_cn_common_account_112201","112201","Account Receivable (Pos)","asset_receivable","True","POS 应收账款" +"l10n_cn_common_account_1123","1123","Prepayments To Supplier","asset_prepayments","False","预付账款" +"l10n_cn_common_account_1131","1131","Dividend Receivable","asset_current","False","应收股利" +"l10n_cn_common_account_1132","1132","Interest Receivable","asset_current","False","应收利息" +"l10n_cn_common_account_1221","1221","Other Receivables","asset_current","False","其他应收款" +"l10n_cn_common_account_1401","1401","Purchase Of Material","asset_current","False","材料采购" +"l10n_cn_common_account_1402","1402","Materials In Transit","asset_current","False","在途物资" +"l10n_cn_common_account_1403","1403","Raw Materials","asset_current","False","原材料" +"l10n_cn_common_account_1404","1404","Material Cost Variance","asset_current","False","材料成本差异" +"l10n_cn_common_account_1405","1405","Inventory","asset_current","False","库存商品" +"l10n_cn_common_account_1407","1407","Product Purchase And Sale Price Difference","asset_current","False","商品进销差价" +"l10n_cn_common_account_1408","1408","Consigned Processing Materials","asset_current","False","委托加工物资" +"l10n_cn_common_account_1411","1411","Working Materials","asset_current","False","周转材料" +"l10n_cn_common_account_1421","1421","Consumable Biological Assets","asset_current","False","消耗性生物资产" +"l10n_cn_common_account_1511","1511","Long-Term Equity Investment","asset_non_current","False","长期股权投资" +"l10n_cn_common_account_1601","1601","Fixed Assets","asset_fixed","False","固定资产" +"l10n_cn_common_account_1701","1701","Intangible Assets","asset_non_current","False","无形资产" +"l10n_cn_common_account_1702","1702","Accumulated Amortization","asset_non_current","False","累计摊销" +"l10n_cn_common_account_1801","1801","Long-Term Deferred Expenses","asset_non_current","False","长期待摊费用" +"l10n_cn_common_account_1901","1901","Pending Property Gains / Losses","asset_non_current","False","待处理财产损溢" +"l10n_cn_common_account_2001","2001","Short Term Borrowing","liability_current","False","短期借款" +"l10n_cn_common_account_2201","2201","Notes Payable","liability_current","False","应付票据" +"l10n_cn_common_account_2202","2202","Accounts Payable","liability_payable","True","应付账款" +"l10n_cn_common_account_2203","2203","Advance From Customers","liability_current","False","预收账款" +"l10n_cn_common_account_2211","2211","Payroll Payable","liability_current","False","应付职工薪酬" +"l10n_cn_common_account_2221","2221","Tax Payable","liability_current","False","应交税费" +"l10n_cn_common_account_222101","222101","Tax Received","liability_current","False","应收税费" +"l10n_cn_common_account_2231","2231","Interest Payable","liability_current","False","应付利息" +"l10n_cn_common_account_2241","2241","Other Payables","liability_current","False","其他应付款" +"l10n_cn_common_account_2401","2401","Deferred Income","liability_non_current","False","递延收益" +"l10n_cn_common_account_2501","2501","Long-Term Loan","liability_non_current","False","长期借款" +"l10n_cn_common_account_2701","2701","Long-Term Payables","liability_non_current","False","长期应付款" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn_large_bis.csv b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn_large_bis.csv new file mode 100644 index 0000000..ca140f1 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.account-cn_large_bis.csv @@ -0,0 +1,155 @@ +"id","code","name","account_type","reconcile","name@zh_CN" +"l10n_cn_large_bis_account_100201","100201","Bank Suspense Account","asset_current","False","银行待清算账户" +"l10n_cn_large_bis_account_1003","1003","Deposit Central Bank Funds","asset_cash","True","存放中央银行款项" +"l10n_cn_large_bis_account_1004","1004","Liquidity Transfer","asset_current","True","流动性转账" +"l10n_cn_large_bis_account_1005","1005","Credit Card","liability_credit_card","True","信用卡" +"l10n_cn_large_bis_account_1011","1011","Deposit Peers","asset_current","False","存放同业" +"l10n_cn_large_bis_account_1021","1021","Settlement Reserve Fund","asset_current","False","结算备付金" +"l10n_cn_large_bis_account_1031","1031","Deposit Margin","asset_current","False","存出保证金" +"l10n_cn_large_bis_account_1101","1101","Tradable Financial Assets","asset_current","False","交易性金融资产" +"l10n_cn_large_bis_account_1102","1102","Derivative Financial Assets","asset_current","False","衍生金融资产" +"l10n_cn_large_bis_account_1111","1111","Financial Assets Under Resale Agreements","asset_current","False","买入返售金融资产" +"l10n_cn_large_bis_account_1124","1124","Receivables Financing","asset_current","False","应收款项融资" +"l10n_cn_large_bis_account_1201","1201","Subrogation Recovery Receivables","asset_current","False","应收代位追偿款" +"l10n_cn_large_bis_account_1211","1211","Reinsurance Accounts Receivable","asset_current","False","应收分保账款" +"l10n_cn_large_bis_account_1212","1212","Receivable Reinsurance Contract Reserves","asset_current","False","应收分保合同准备金" +"l10n_cn_large_bis_account_1222","1222","Tax Paid","asset_current","False","已付税金" +"l10n_cn_large_bis_account_1223","1223","Tax Receivable","asset_current","False","应收税金" +"l10n_cn_large_bis_account_1231","1231","Provision For Bad Debts","asset_current","False","坏账准备" +"l10n_cn_large_bis_account_1301","1301","Discount Assets","asset_current","False","贴现资产" +"l10n_cn_large_bis_account_1302","1302","Loan Funds","asset_current","False","拆出资金" +"l10n_cn_large_bis_account_1303","1303","Loan","asset_current","False","贷款" +"l10n_cn_large_bis_account_1304","1304","Loan Loss Provisions","asset_current","False","贷款损失准备" +"l10n_cn_large_bis_account_1311","1311","Agent To Redeem Securities","asset_current","False","代理兑付证券" +"l10n_cn_large_bis_account_1321","1321","Agency Business Assets","asset_current","False","代理业务资产" +"l10n_cn_large_bis_account_140501","140501","Work In Progress","asset_current","False","在产品" +"l10n_cn_large_bis_account_140502","140502","Work In Progress Overhead","asset_current","False","在产品费用" +"l10n_cn_large_bis_account_1406","1406","Goods Shipped In Transit","asset_current","False","发出商品" +"l10n_cn_large_bis_account_140601","140601","Stock Interim (Received)","asset_current","False","暂收存货" +"l10n_cn_large_bis_account_140602","140602","Stock Interim (Delivered)","asset_current","False","暂付存货" +"l10n_cn_large_bis_account_1431","1431","Precious Metal","asset_current","False","贵金属" +"l10n_cn_large_bis_account_1441","1441","Foreclosed Assets","asset_current","False","抵债资产" +"l10n_cn_large_bis_account_1451","1451","Surplus Materials","asset_current","False","损余物资" +"l10n_cn_large_bis_account_1461","1461","Finance Lease Assets","asset_current","False","融资租赁资产" +"l10n_cn_large_bis_account_1471","1471","Provision For Stock Impairment","asset_current","False","存货跌价准备" +"l10n_cn_large_bis_account_1481","1481","Contract Assets","asset_current","False","合同资产" +"l10n_cn_large_bis_account_1491","1491","Assets Held For Sale","asset_current","False","持有待售资产" +"l10n_cn_large_bis_account_1492","1492","Impairment Provision For Assets Held For Sale","asset_current","False","持有待售资产减值准备" +"l10n_cn_large_bis_account_1493","1493","Non-Current Assets Due Within One Year","asset_current","False","一年内到期的非流动资产" +"l10n_cn_large_bis_account_1501","1501","Investments Held To Maturity","asset_non_current","False","持有至到期投资" +"l10n_cn_large_bis_account_1502","1502","Provision For Impairment Of Investments Held To Maturity","asset_non_current","False","持有至到期投资减值准备" +"l10n_cn_large_bis_account_1503","1503","Financial Assets Available For Sale","asset_non_current","False","可供出售金融资产" +"l10n_cn_large_bis_account_1504","1504","Debt Investment","asset_non_current","False","债权投资" +"l10n_cn_large_bis_account_1505","1505","Other Debt Investments","asset_non_current","False","其他债权投资" +"l10n_cn_large_bis_account_1512","1512","Impairment Provision For Long-Term Equity Investments","asset_non_current","False","长期股权投资减值准备" +"l10n_cn_large_bis_account_1513","1513","Other Equity Instrument Investments","asset_non_current","False","其他权益工具投资" +"l10n_cn_large_bis_account_1521","1521","Investmental Real Estate","asset_non_current","False","投资性房地产" +"l10n_cn_large_bis_account_1531","1531","Long-Term Receivables","asset_non_current","False","长期应收款" +"l10n_cn_large_bis_account_1532","1532","Unrealised Financial Income","asset_non_current","False","未实现融资收益" +"l10n_cn_large_bis_account_1541","1541","Deposited Capital Guarantee","asset_non_current","False","存出资本保证金" +"l10n_cn_large_bis_account_1602","1602","Tangible Assets Depreciation","asset_fixed","False","累计折旧" +"l10n_cn_large_bis_account_1603","1603","Provision For Fixed Assets Impairment","asset_non_current","False","固定资产减值准备" +"l10n_cn_large_bis_account_1604","1604","Construction In Progress","asset_non_current","False","在建工程" +"l10n_cn_large_bis_account_1605","1605","Construction Materials","asset_non_current","False","工程物资" +"l10n_cn_large_bis_account_1606","1606","Liquidation Of Fixed Assets","asset_non_current","False","固定资产清理" +"l10n_cn_large_bis_account_1611","1611","Unguaranteed Residual Value","asset_non_current","False","未担保余值" +"l10n_cn_large_bis_account_1621","1621","Productive Biological Assets","asset_non_current","False","生产性生物资产" +"l10n_cn_large_bis_account_1622","1622","Accumulated Depreciation Of Productive Biological Assets","asset_non_current","False","生产性生物资产累计折旧" +"l10n_cn_large_bis_account_1623","1623","Public Welfare Biological Assets","asset_non_current","False","公益性生物资产" +"l10n_cn_large_bis_account_1631","1631","Oil And Gas Assets","asset_non_current","False","油气资产" +"l10n_cn_large_bis_account_1632","1632","Cumulative Depreciation","asset_non_current","False","累计折耗" +"l10n_cn_large_bis_account_1703","1703","Intangible Assets Depreciation Reserves","asset_non_current","False","无形资产减值准备" +"l10n_cn_large_bis_account_1711","1711","Goodwill","asset_non_current","False","商誉" +"l10n_cn_large_bis_account_1721","1721","Right-Of-Use Assets","asset_non_current","False","使用权资产" +"l10n_cn_large_bis_account_1731","1731","Development Expenditure","asset_non_current","False","开发支出" +"l10n_cn_large_bis_account_1811","1811","Deferred Tax Assets","asset_non_current","False","递延所得税资产" +"l10n_cn_large_bis_account_1821","1821","Separate Account Assets","asset_non_current","False","独立账户资产" +"l10n_cn_large_bis_account_2002","2002","Deposit Margin","liability_current","False","存入保证金" +"l10n_cn_large_bis_account_2003","2003","Borrowing Funds","liability_current","False","拆入资金" +"l10n_cn_large_bis_account_2004","2004","Borrowing From Central Bank","liability_current","False","向中央银行借款" +"l10n_cn_large_bis_account_2011","2011","Take Deposit","liability_current","False","吸收存款" +"l10n_cn_large_bis_account_2012","2012","Interbank Deposit","liability_current","False","同业存放" +"l10n_cn_large_bis_account_2021","2021","Discounted Liabilities","liability_current","False","贴现负债" +"l10n_cn_large_bis_account_2101","2101","Financial Trading Liabilities","liability_current","False","交易性金融负债" +"l10n_cn_large_bis_account_2111","2111","Financial Assets Sold And Repurchased","liability_current","False","卖出回购金融资产款" +"l10n_cn_large_bis_account_2112","2112","Derivative Financial Liabilities","liability_current","False","衍生金融负债" +"l10n_cn_large_bis_account_2204","2204","Contract Liabilities","liability_current","False","合同负债" +"l10n_cn_large_bis_account_2232","2232","Dividend Payable","liability_current","False","应付股利" +"l10n_cn_large_bis_account_2245","2245","Liabilities Held For Sale","liability_current","False","持有待售负债" +"l10n_cn_large_bis_account_2251","2251","Policy Dividends Payable","liability_current","False","应付保单红利" +"l10n_cn_large_bis_account_2261","2261","Reinsurance Accounts Payable","liability_current","False","应付分保账款" +"l10n_cn_large_bis_account_2311","2311","Brokerage For Buying And Selling Securities","liability_current","False","代理买卖证券款" +"l10n_cn_large_bis_account_2312","2312","Agency Underwriting Securities Payment","liability_current","False","代理承销证券款" +"l10n_cn_large_bis_account_2313","2313","Agent Acting For Redemption Of Security Payment Redemption","liability_current","False","代理兑付证券款" +"l10n_cn_large_bis_account_2314","2314","Agency Business Liabilities","liability_current","False","代理业务负债" +"l10n_cn_large_bis_account_2402","2402","Non-Current Liabilities Due Within One Year","liability_current","False","一年内到期的非流动负债" +"l10n_cn_large_bis_account_2502","2502","Bonds Payable","liability_non_current","False","应付债券" +"l10n_cn_large_bis_account_2510","2510","Lease Liability","liability_non_current","False","租赁负债" +"l10n_cn_large_bis_account_2601","2601","Reserve For Unearned Liabilities","liability_non_current","False","未到期责任准备金" +"l10n_cn_large_bis_account_2602","2602","Insurance Liability Reserve","liability_non_current","False","保险责任准备金" +"l10n_cn_large_bis_account_2611","2611","Policyholder Savings","liability_non_current","False","保户储金" +"l10n_cn_large_bis_account_2621","2621","Separate Account Liabilities","liability_non_current","False","独立账户负债" +"l10n_cn_large_bis_account_2702","2702","Unrecognized Financing Charges","liability_non_current","False","未确认融资费用" +"l10n_cn_large_bis_account_2711","2711","Special Payables","liability_non_current","False","专项应付款" +"l10n_cn_large_bis_account_2801","2801","Estimated Liabilities","liability_non_current","False","预计负债" +"l10n_cn_large_bis_account_2901","2901","Deferred Tax Liabilities","liability_non_current","False","递延所得税负债" +"l10n_cn_large_bis_account_3001","3001","Liquidation Of Funds","equity","False","清算资金往来" +"l10n_cn_large_bis_account_3002","3002","Currency Exchange","equity","False","货币兑换" +"l10n_cn_large_bis_account_3101","3101","Derivatives","equity","False","衍生工具" +"l10n_cn_large_bis_account_3201","3201","Hedging Instrument","equity","False","套期工具" +"l10n_cn_large_bis_account_3202","3202","Hedged Item","equity","False","被套期项目" +"l10n_cn_large_bis_account_4001","4001","Paid-In Capital","equity","False","实收资本" +"l10n_cn_large_bis_account_4002","4002","Capital Reserve","equity","False","资本公积" +"l10n_cn_large_bis_account_4003","4003","Special Reserve","equity","False","专项储备" +"l10n_cn_large_bis_account_4101","4101","Surplus Reserve","equity","False","盈余公积" +"l10n_cn_large_bis_account_4102","4102","General Risk Provision","equity","False","一般风险准备" +"l10n_cn_large_bis_account_4103","4103","Profit For The Year","equity_unaffected","False","本年利润" +"l10n_cn_large_bis_account_4104","4104","Profit Distribution","equity","False","利润分配" +"l10n_cn_large_bis_account_4201","4201","Treasury Stock","equity","False","库存股" +"l10n_cn_large_bis_account_5001","5001","Production Costs","expense_direct_cost","False","生产成本" +"l10n_cn_large_bis_account_5101","5101","Depreciation","expense_direct_cost","False","制造费用" +"l10n_cn_large_bis_account_5201","5201","Service Cost","expense_direct_cost","False","劳务成本" +"l10n_cn_large_bis_account_5301","5301","R&D Expenditure","expense_direct_cost","False","研发支出" +"l10n_cn_large_bis_account_5401","5401","Construction Cost","expense_direct_cost","False","工程施工" +"l10n_cn_large_bis_account_5402","5402","Project Settlement Cost","expense_direct_cost","False","工程结算" +"l10n_cn_large_bis_account_5403","5403","Cost Of Repair","expense_direct_cost","False","机械作业" +"l10n_cn_large_bis_account_6001","6001","Income","income","False","主营业务收入" +"l10n_cn_large_bis_account_6011","6011","Interest Income","income","False","利息收入" +"l10n_cn_large_bis_account_6021","6021","Fee And Commission Income","income","False","手续费及佣金收入" +"l10n_cn_large_bis_account_6031","6031","Premium Income","income","False","保费收入" +"l10n_cn_large_bis_account_6041","6041","Rental Income","income","False","租赁收入" +"l10n_cn_large_bis_account_6051","6051","Other Operating Income","income","False","其他业务收入" +"l10n_cn_large_bis_account_6061","6061","Exchange Gains / Losses","income","False","汇兑损益" +"l10n_cn_large_bis_account_6071","6071","Hedging Income","income","False","套期保值收益" +"l10n_cn_large_bis_account_6101","6101","Gains And Losses Of Fair Value Change","income","False","公允价值变动损益" +"l10n_cn_large_bis_account_6111","6111","Income From Investments","income","False","投资收益" +"l10n_cn_large_bis_account_6115","6115","Gains And Losses On Disposal Of Assets","income","False","资产处置损益" +"l10n_cn_large_bis_account_6201","6201","Amortization Of Insurance Liability Reserves","income","False","摊回保险责任准备金" +"l10n_cn_large_bis_account_6202","6202","Amortization Of Compensation Expenses","income","False","摊回赔付支出" +"l10n_cn_large_bis_account_6203","6203","Amortization Of Reinsurance Expenses","income","False","摊回分保费用" +"l10n_cn_large_bis_account_6301","6301","Non-Operating Income","income","False","营业外收入" +"l10n_cn_large_bis_account_630101","630101","Cash Difference Gain","income","False","现金溢余收益" +"l10n_cn_large_bis_account_630102","630102","Cash Discount Gain","income","False","现金折扣收益" +"l10n_cn_large_bis_account_6401","6401","Main Business Costs","expense_direct_cost","False","主营业务成本" +"l10n_cn_large_bis_account_6402","6402","Other Business Costs","expense_direct_cost","False","其他业务成本" +"l10n_cn_large_bis_account_6403","6403","Operating Taxes And Surcharges","expense","False","营业税金及附加" +"l10n_cn_large_bis_account_6411","6411","Interest Expense","expense","False","利息支出" +"l10n_cn_large_bis_account_6421","6421","Handling Fees And Commission Expenses","expense","False","手续费及佣金支出" +"l10n_cn_large_bis_account_6501","6501","Withdrawal Of Unexpired Liability Reserves","expense","False","提取未到期责任准备金" +"l10n_cn_large_bis_account_6502","6502","Withdrawal Of Insurance Liability Reserves","expense","False","提取保险责任准备金" +"l10n_cn_large_bis_account_6511","6511","Compensation Expenses","expense","False","赔付支出" +"l10n_cn_large_bis_account_6521","6521","Policy Dividend Payout","expense","False","保单红利支出" +"l10n_cn_large_bis_account_6531","6531","Surrender Benefit","expense","False","退保金" +"l10n_cn_large_bis_account_6541","6541","Ceded Premiums","expense","False","分出保费" +"l10n_cn_large_bis_account_6542","6542","Reinsurance Expenses","expense","False","分保费用" +"l10n_cn_large_bis_account_6601","6601","Sales Expenses","expense","False","销售费用" +"l10n_cn_large_bis_account_6602","6602","Administrative Expenses","expense","False","管理费用" +"l10n_cn_large_bis_account_6603","6603","Financial Expenses","expense","False","财务费用" +"l10n_cn_large_bis_account_6604","6604","Exploration Costs","expense","False","勘探费用" +"l10n_cn_large_bis_account_6701","6701","Asset Impairment Loss","expense","False","资产减值损失" +"l10n_cn_large_bis_account_6711","6711","Non-Operating Expenses","expense","False","营业外支出" +"l10n_cn_large_bis_account_671101","671101","Cash Difference Loss","expense","False","现金短缺损失" +"l10n_cn_large_bis_account_671102","671102","Cash Discount Loss","expense","False","现金折扣损失" +"l10n_cn_large_bis_account_6721","6721","Credit Impairment Loss","expense","False","信用减值损失" +"l10n_cn_large_bis_account_6801","6801","Income Tax Expense","expense","False","所得税费用" +"l10n_cn_large_bis_account_6901","6901","Prior Year Income Adjustment","expense","False","以前年度损益调整" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax-cn.csv b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax-cn.csv new file mode 100644 index 0000000..3158f2a --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax-cn.csv @@ -0,0 +1,25 @@ +"id","name","description","invoice_label","amount","amount_type","type_tax_use","tax_group_id","repartition_line_ids/repartition_type","repartition_line_ids/document_type","repartition_line_ids/account_id","description@zh_CN","fiscal_position_ids","original_tax_ids" +"l10n_cn_sales_excluded_13","13%","VAT 13%","13%","13.0","percent","sale","l10n_cn_tax_group_vat_13","base","invoice","","增值税13%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_sales_excluded_9","9%","VAT 9%","9%","9.0","percent","sale","l10n_cn_tax_group_vat_9","base","invoice","","增值税9%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_sales_excluded_6","6%","VAT 6%","6%","6.0","percent","sale","l10n_cn_tax_group_vat_6","base","invoice","","增值税6%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_purchase_excluded_13","13%","VAT 13%","13%","13.0","percent","purchase","l10n_cn_tax_group_vat_13","base","invoice","","增值税13%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_purchase_excluded_9","9%","VAT 9%","9%","9.0","percent","purchase","l10n_cn_tax_group_vat_9","base","invoice","","增值税9%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_purchase_excluded_6","6%","VAT 6%","6%","6.0","percent","purchase","l10n_cn_tax_group_vat_6","base","invoice","","增值税6%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax-cn_large_bis.csv b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax-cn_large_bis.csv new file mode 100644 index 0000000..311657b --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax-cn_large_bis.csv @@ -0,0 +1,25 @@ +"id","name","description","invoice_label","amount","amount_type","type_tax_use","tax_group_id","repartition_line_ids/repartition_type","repartition_line_ids/document_type","repartition_line_ids/account_id","description@zh_CN","fiscal_position_ids","original_tax_ids" +"l10n_cn_tax_large_bis_sales_excluded_13","13%","VAT 13%","13%","13.0","percent","sale","l10n_cn_tax_group_vat_13","base","invoice","","增值税13%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_tax_large_bis_sales_excluded_9","9%","VAT 9%","9%","9.0","percent","sale","l10n_cn_tax_group_vat_9","base","invoice","","增值税9%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_tax_large_bis_sales_excluded_6","6%","VAT 6%","6%","6.0","percent","sale","l10n_cn_tax_group_vat_6","base","invoice","","增值税6%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_tax_large_bis_purchase_excluded_13","13%","VAT 13%","13%","13.0","percent","purchase","l10n_cn_tax_group_vat_13","base","invoice","","增值税13%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_tax_large_bis_purchase_excluded_9","9%","VAT 9%","9%","9.0","percent","purchase","l10n_cn_tax_group_vat_9","base","invoice","","增值税9%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" +"l10n_cn_tax_large_bis_purchase_excluded_6","6%","VAT 6%","6%","6.0","percent","purchase","l10n_cn_tax_group_vat_6","base","invoice","","增值税6%","","" +"","","","","","","","","tax","invoice","l10n_cn_common_account_2221","","","" +"","","","","","","","","base","refund","","","","" +"","","","","","","","","tax","refund","l10n_cn_common_account_2221","","","" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax.group-cn_common.csv b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax.group-cn_common.csv new file mode 100644 index 0000000..ba7d807 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/data/template/account.tax.group-cn_common.csv @@ -0,0 +1,4 @@ +"id","name","country_id","name@zh_CN" +"l10n_cn_tax_group_vat_6","VAT 6%","base.cn","增值税6%" +"l10n_cn_tax_group_vat_9","VAT 9%","base.cn","增值税9%" +"l10n_cn_tax_group_vat_13","VAT 13%","base.cn","增值税13%" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/demo/demo_company.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/demo/demo_company.xml index ea35591..5a4640b 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/demo/demo_company.xml +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/demo/demo_company.xml @@ -1,8 +1,8 @@ - - CN Company - + + CN ASSBE Company + 德政中路 大塘街道 @@ -11,24 +11,27 @@ +86 131 2345 6789 info@company.cnexample.com www.cnexample.com + - - CN Company - + + CN ASSBE Company + - + - + - - + + cn + + diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/demo/demo_company_asbe.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/demo/demo_company_asbe.xml new file mode 100644 index 0000000..c4cf810 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/demo/demo_company_asbe.xml @@ -0,0 +1,37 @@ + + + + CN ASBE Company + + 德政中路 + 大塘街道 + + + 510375 + +86 131 2345 6789 + info@company.cnexample.com + www.cnexample.com + + + + + CN ASBE Company + + + + + + + + + + + + + + + cn_large_bis + + + + diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/fr_BE.po b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/fr_BE.po deleted file mode 100644 index 099fa52..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/fr_BE.po +++ /dev/null @@ -1,664 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * l10n_cn -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 14:50+0000\n" -"PO-Revision-Date: 2022-04-05 14:50+0000\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: l10n_cn -#: model:ir.actions.report,print_report_name:l10n_cn.account_voucher_cn -msgid "'Voucher_%s' % (object.name)" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "借方" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "合计:" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "摘要" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "科目" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "记账凭证" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "贷方" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "凭证号:" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "制单:" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "审核:" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "日期:" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "过账:" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "附件数:" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2711 -#: model:account.account.template,name:l10n_cn.l10n_cn_2711 -msgid "Account payable special funds" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2202 -#: model:account.account.template,name:l10n_cn.l10n_cn_2202 -msgid "Accounts Payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1122 -#: model:account.account.template,name:l10n_cn.l10n_cn_1122 -msgid "Accounts Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1124 -#: model:account.account.template,name:l10n_cn.l10n_cn_1124 -msgid "Accounts Receivable (PoS)" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1702 -#: model:account.account.template,name:l10n_cn.l10n_cn_1702 -msgid "Accumulated amortization" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1602 -#: model:account.account.template,name:l10n_cn.l10n_cn_1602 -msgid "Accumulated depreciation" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1123 -#: model:account.account.template,name:l10n_cn.l10n_cn_1123 -msgid "Advance Payment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6701 -#: model:account.account.template,name:l10n_cn.l10n_cn_6701 -msgid "Assets impairment Loss" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1503 -#: model:account.account.template,name:l10n_cn.l10n_cn_1503 -msgid "Available for sale financial assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1231 -#: model:account.account.template,name:l10n_cn.l10n_cn_1231 -msgid "Bad Debt Provisions" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2201 -#: model:account.account.template,name:l10n_cn.l10n_cn_2201 -msgid "Bills Payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1121 -#: model:account.account.template,name:l10n_cn.l10n_cn_1121 -msgid "Bills Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2502 -#: model:account.account.template,name:l10n_cn.l10n_cn_2502 -msgid "Bonds Payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_4002 -#: model:account.account.template,name:l10n_cn.l10n_cn_4002 -msgid "Capital Surplus" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1408 -#: model:account.account.template,name:l10n_cn.l10n_cn_1408 -msgid "Consigned processing materials" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1604 -#: model:account.account.template,name:l10n_cn.l10n_cn_1604 -msgid "Construction in progress" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2901 -#: model:account.account.template,name:l10n_cn.l10n_cn_2901 -msgid "Deferred Tax Liability" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2203 -#: model:account.account.template,name:l10n_cn.l10n_cn_2203 -msgid "Deposit Received" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1407 -#: model:account.account.template,name:l10n_cn.l10n_cn_1407 -msgid "Differences between purchasing and selling price" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1131 -#: model:account.account.template,name:l10n_cn.l10n_cn_1131 -msgid "Divident Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2241 -#: model:account.account.template,name:l10n_cn.l10n_cn_2241 -msgid "Dividents payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1605 -#: model:account.account.template,name:l10n_cn.l10n_cn_1605 -msgid "Engineering materials" -msgstr "" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_bank_statement_line__fapiao -#: model:ir.model.fields,field_description:l10n_cn.field_account_move__fapiao -#: model:ir.model.fields,field_description:l10n_cn.field_account_payment__fapiao -msgid "Fapiao Number" -msgstr "" - -#. module: l10n_cn -#: code:addons/l10n_cn/models/account_move.py:0 -#, python-format -msgid "Fapiao number is an 8-digit number. Please enter a correct one." -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6603 -#: model:account.account.template,name:l10n_cn.l10n_cn_6603 -msgid "Financial Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1601 -#: model:account.account.template,name:l10n_cn.l10n_cn_1601 -msgid "Fixed assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1603 -#: model:account.account.template,name:l10n_cn.l10n_cn_1603 -msgid "Fixed assets depreciation reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6101 -#: model:account.account.template,name:l10n_cn.l10n_cn_6101 -msgid "Gains and Losses of fair value change" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1406 -#: model:account.account.template,name:l10n_cn.l10n_cn_1406 -msgid "Goods shipped in transit" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1711 -#: model:account.account.template,name:l10n_cn.l10n_cn_1711 -msgid "Goodwill" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1501 -#: model:account.account.template,name:l10n_cn.l10n_cn_1501 -msgid "Held to maturity Investment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1512 -#: model:account.account.template,name:l10n_cn.l10n_cn_1512 -msgid "Impairment provision for long-term equity investments" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6801 -#: model:account.account.template,name:l10n_cn.l10n_cn_6801 -msgid "Income Tax Expense" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6111 -#: model:account.account.template,name:l10n_cn.l10n_cn_6111 -msgid "Income from investment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1701 -#: model:account.account.template,name:l10n_cn.l10n_cn_1701 -msgid "Intangible Assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1703 -#: model:account.account.template,name:l10n_cn.l10n_cn_1703 -msgid "Intangible Assets Depreciation Reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1132 -#: model:account.account.template,name:l10n_cn.l10n_cn_1132 -msgid "Interest Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2231 -#: model:account.account.template,name:l10n_cn.l10n_cn_2231 -msgid "Interest payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1471 -#: model:account.account.template,name:l10n_cn.l10n_cn_1471 -msgid "Inventory falling price reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1521 -#: model:account.account.template,name:l10n_cn.l10n_cn_1521 -msgid "Investmental real estate" -msgstr "" - -#. module: l10n_cn -#: model:ir.model,name:l10n_cn.model_account_move -msgid "Journal Entry" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1606 -#: model:account.account.template,name:l10n_cn.l10n_cn_1606 -msgid "Liquidation of fixed assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_chart_china_small_business_liquidity_transfer -#: model:account.account.template,name:l10n_cn.l10n_chart_china_small_business_liquidity_transfer -msgid "Liquidity Transfer" -msgstr "" - -#. module: l10n_cn -#: model_terms:ir.ui.view,arch_db:l10n_cn.external_layout_boxed -msgid "Logo" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2701 -#: model:account.account.template,name:l10n_cn.l10n_cn_2701 -msgid "Long Term payables" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1801 -#: model:account.account.template,name:l10n_cn.l10n_cn_1801 -msgid "Long-term amortized expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1511 -#: model:account.account.template,name:l10n_cn.l10n_cn_1511 -msgid "Long-term equity investment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1531 -#: model:account.account.template,name:l10n_cn.l10n_cn_1531 -msgid "Long-term receivables" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6401 -#: model:account.account.template,name:l10n_cn.l10n_cn_6401 -msgid "Main Business Cost" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6001 -#: model:account.account.template,name:l10n_cn.l10n_cn_6001 -msgid "Main Business Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6602 -#: model:account.account.template,name:l10n_cn.l10n_cn_6602 -msgid "Management Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_5101 -#: model:account.account.template,name:l10n_cn.l10n_cn_5101 -msgid "Manufacturing Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1404 -#: model:account.account.template,name:l10n_cn.l10n_cn_1404 -msgid "Material Cost Variance" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1401 -#: model:account.account.template,name:l10n_cn.l10n_cn_1401 -msgid "Material Purchasing" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1402 -#: model:account.account.template,name:l10n_cn.l10n_cn_1402 -msgid "Materials in transit" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1405 -#: model:account.account.template,name:l10n_cn.l10n_cn_1405 -msgid "Merchandise Inventory" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6301 -#: model:account.account.template,name:l10n_cn.l10n_cn_6301 -msgid "Non-operating Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6711 -#: model:account.account.template,name:l10n_cn.l10n_cn_6711 -msgid "Non-operating expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6403 -#: model:account.account.template,name:l10n_cn.l10n_cn_6403 -msgid "Operating Taxes and Surcharges" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6051 -#: model:account.account.template,name:l10n_cn.l10n_cn_6051 -msgid "Other Business Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_4003 -#: model:account.account.template,name:l10n_cn.l10n_cn_4003 -msgid "Other Comprehensive Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1012 -#: model:account.account.template,name:l10n_cn.l10n_cn_1012 -msgid "Other Monetary Funds" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6402 -#: model:account.account.template,name:l10n_cn.l10n_cn_6402 -msgid "Other Operating Costs" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1221 -#: model:account.account.template,name:l10n_cn.l10n_cn_1221 -msgid "Other Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2501 -#: model:account.account.template,name:l10n_cn.l10n_cn_2501 -msgid "Other payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_4001 -#: model:account.account.template,name:l10n_cn.l10n_cn_4001 -msgid "Paid in capital" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2211 -#: model:account.account.template,name:l10n_cn.l10n_cn_2211 -msgid "Payroll payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6901 -#: model:account.account.template,name:l10n_cn.l10n_cn_6901 -msgid "Prior year income adjustment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_5001 -#: model:account.account.template,name:l10n_cn.l10n_cn_5001 -msgid "Production Costs" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_4104 -#: model:account.account.template,name:l10n_cn.l10n_cn_4104 -msgid "Profit distribution" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_4103 -#: model:account.account.template,name:l10n_cn.l10n_cn_4103 -msgid "Profit for the year" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2801 -#: model:account.account.template,name:l10n_cn.l10n_cn_2801 -msgid "Projected liabilities" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1502 -#: model:account.account.template,name:l10n_cn.l10n_cn_1502 -msgid "Provision for impairment of investments held to maturity" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_5301 -#: model:account.account.template,name:l10n_cn.l10n_cn_5301 -msgid "R & D expenditure" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1403 -#: model:account.account.template,name:l10n_cn.l10n_cn_1403 -msgid "Raw Material" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_6601 -#: model:account.account.template,name:l10n_cn.l10n_cn_6601 -msgid "Selling Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_5201 -#: model:account.account.template,name:l10n_cn.l10n_cn_5201 -msgid "Service Cost" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2001 -#: model:account.account.template,name:l10n_cn.l10n_cn_2001 -msgid "Short-term borrowing" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_4101 -#: model:account.account.template,name:l10n_cn.l10n_cn_4101 -msgid "Surplus Reserve" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_2221 -#: model:account.account.template,name:l10n_cn.l10n_cn_2221 -msgid "Tax payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.3_l10n_cn_1101 -#: model:account.account.template,name:l10n_cn.l10n_cn_1101 -msgid "Transactional Financial Assets" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_13 -msgid "VAT 13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_6 -msgid "VAT 6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_9 -msgid "VAT 9%" -msgstr "" - -#. module: l10n_cn -#: model:ir.actions.report,name:l10n_cn.account_voucher_cn -msgid "Voucher" -msgstr "" - -#. module: l10n_cn -#: model:account.chart.template,name:l10n_cn.l10n_chart_china_small_business -msgid "小企业会计科目表(财会[2011]17号《小企业会计准则》)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.3_l10n_cn_purchase_excluded_13 -#: model:account.tax,description:l10n_cn.3_l10n_cn_sales_excluded_13 -#: model:account.tax,name:l10n_cn.3_l10n_cn_purchase_excluded_13 -#: model:account.tax,name:l10n_cn.3_l10n_cn_sales_excluded_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_13 -msgid "税收13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.3_l10n_cn_sales_included_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_13 -msgid "税收13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.3_l10n_cn_sales_included_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_13 -msgid "税收13%(含)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.3_l10n_cn_purchase_excluded_6 -#: model:account.tax,name:l10n_cn.3_l10n_cn_sales_excluded_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_6 -msgid "税收6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.3_l10n_cn_purchase_excluded_6 -#: model:account.tax,description:l10n_cn.3_l10n_cn_sales_excluded_6 -#: model:account.tax,description:l10n_cn.3_l10n_cn_sales_included_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_6 -msgid "税收6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.3_l10n_cn_sales_included_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_6 -msgid "税收6%(含)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.3_l10n_cn_purchase_excluded_9 -#: model:account.tax,description:l10n_cn.3_l10n_cn_sales_excluded_9 -#: model:account.tax,name:l10n_cn.3_l10n_cn_purchase_excluded_9 -#: model:account.tax,name:l10n_cn.3_l10n_cn_sales_excluded_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_9 -msgid "税收9%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.3_l10n_cn_sales_included_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_9 -msgid "税收9%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.3_l10n_cn_sales_included_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_9 -msgid "税收9%(含)" -msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/l10n_cn.pot b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/l10n_cn.pot index dddb141..cdb13a0 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/l10n_cn.pot +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/l10n_cn.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server saas~15.2\n" +"Project-Id-Version: Odoo Server 19.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-11 08:16+0000\n" -"PO-Revision-Date: 2022-04-11 08:16+0000\n" +"POT-Creation-Date: 2025-12-30 19:05+0000\n" +"PO-Revision-Date: 2025-12-30 19:05+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -22,265 +22,115 @@ msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "借方" +msgid "Account" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "合计:" +msgid "Accounting Voucher" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "摘要" +msgid "Balance" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "科目" +msgid "Credit" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "记账凭证" +msgid "Debit" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "贷方" +msgid "Total:" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "凭证号:" +msgid "Date:" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "制单:" +msgid "Number of attachments:" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "审核:" +msgid "Poster:" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "日期:" +msgid "Reference:" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "过账:" +msgid "Salesperson:" msgstr "" #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document -msgid "附件数:" +msgid "Validator:" msgstr "" #. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2711 -msgid "Account payable special funds" +#: model:ir.model,name:l10n_cn.model_account_chart_template +msgid "Account Chart Template" msgstr "" #. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2202 -msgid "Accounts Payable" +#. odoo-python +#: code:addons/l10n_cn/models/template_cn_large_bis.py:0 +msgid "Accounting Standards for Business Enterprises" msgstr "" #. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1122 -msgid "Accounts Receivable" +#. odoo-python +#: code:addons/l10n_cn/models/template_cn.py:0 +msgid "Accounting Standards for Small Business Enterprises" msgstr "" #. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1124 -msgid "Accounts Receivable (PoS)" +#. odoo-python +#: code:addons/l10n_cn/models/template_cn_common.py:0 +msgid "Cash" msgstr "" #. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1702 -msgid "Accumulated amortization" +#. odoo-python +#: code:addons/l10n_cn/models/template_cn_common.py:0 +msgid "Common" msgstr "" #. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1602 -msgid "Accumulated depreciation" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1123 -msgid "Advance Payment" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6701 -msgid "Assets impairment Loss" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1503 -msgid "Available for sale financial assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1231 -msgid "Bad Debt Provisions" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2201 -msgid "Bills Payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1121 -msgid "Bills Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2502 -msgid "Bonds Payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_4002 -msgid "Capital Surplus" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1408 -msgid "Consigned processing materials" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1604 -msgid "Construction in progress" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2901 -msgid "Deferred Tax Liability" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2203 -msgid "Deposit Received" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1407 -msgid "Differences between purchasing and selling price" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1131 -msgid "Divident Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2241 -msgid "Dividents payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1605 -msgid "Engineering materials" +#: model:ir.model.fields,field_description:l10n_cn.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_cn.field_account_move__display_name +msgid "Display Name" msgstr "" #. module: l10n_cn #: model:ir.model.fields,field_description:l10n_cn.field_account_bank_statement_line__fapiao #: model:ir.model.fields,field_description:l10n_cn.field_account_move__fapiao -#: model:ir.model.fields,field_description:l10n_cn.field_account_payment__fapiao msgid "Fapiao Number" msgstr "" #. module: l10n_cn +#. odoo-python #: code:addons/l10n_cn/models/account_move.py:0 -#, python-format msgid "Fapiao number is an 8-digit number. Please enter a correct one." msgstr "" #. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6603 -msgid "Financial Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1601 -msgid "Fixed assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1603 -msgid "Fixed assets depreciation reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6101 -msgid "Gains and Losses of fair value change" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1406 -msgid "Goods shipped in transit" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1711 -msgid "Goodwill" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1501 -msgid "Held to maturity Investment" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1512 -msgid "Impairment provision for long-term equity investments" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6801 -msgid "Income Tax Expense" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6111 -msgid "Income from investment" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1701 -msgid "Intangible Assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1703 -msgid "Intangible Assets Depreciation Reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1132 -msgid "Interest Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2231 -msgid "Interest payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1471 -msgid "Inventory falling price reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1521 -msgid "Investmental real estate" +#: model:ir.model.fields,field_description:l10n_cn.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_cn.field_account_move__id +msgid "ID" msgstr "" #. module: l10n_cn @@ -288,281 +138,12 @@ msgstr "" msgid "Journal Entry" msgstr "" -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1606 -msgid "Liquidation of fixed assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_chart_china_small_business_liquidity_transfer -msgid "Liquidity Transfer" -msgstr "" - #. module: l10n_cn #: model_terms:ir.ui.view,arch_db:l10n_cn.external_layout_boxed msgid "Logo" msgstr "" -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2701 -msgid "Long Term payables" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1801 -msgid "Long-term amortized expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1511 -msgid "Long-term equity investment" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1531 -msgid "Long-term receivables" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6401 -msgid "Main Business Cost" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6001 -msgid "Main Business Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6602 -msgid "Management Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_5101 -msgid "Manufacturing Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1404 -msgid "Material Cost Variance" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1401 -msgid "Material Purchasing" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1402 -msgid "Materials in transit" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1405 -msgid "Merchandise Inventory" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6301 -msgid "Non-operating Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6711 -msgid "Non-operating expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6403 -msgid "Operating Taxes and Surcharges" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6051 -msgid "Other Business Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_4003 -msgid "Other Comprehensive Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1012 -msgid "Other Monetary Funds" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6402 -msgid "Other Operating Costs" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1221 -msgid "Other Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2501 -msgid "Other payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_4001 -msgid "Paid in capital" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2211 -msgid "Payroll payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6901 -msgid "Prior year income adjustment" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_5001 -msgid "Production Costs" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_4104 -msgid "Profit distribution" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_4103 -msgid "Profit for the year" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2801 -msgid "Projected liabilities" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1502 -msgid "Provision for impairment of investments held to maturity" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_5301 -msgid "R & D expenditure" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1403 -msgid "Raw Material" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_6601 -msgid "Selling Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_5201 -msgid "Service Cost" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2001 -msgid "Short-term borrowing" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_4101 -msgid "Surplus Reserve" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_2221 -msgid "Tax payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account.template,name:l10n_cn.l10n_cn_1101 -msgid "Transactional Financial Assets" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_13 -msgid "VAT 13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_6 -msgid "VAT 6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_9 -msgid "VAT 9%" -msgstr "" - #. module: l10n_cn #: model:ir.actions.report,name:l10n_cn.account_voucher_cn msgid "Voucher" msgstr "" - -#. module: l10n_cn -#: model:account.chart.template,name:l10n_cn.l10n_chart_china_small_business -msgid "小企业会计科目表(财会[2011]17号《小企业会计准则》)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_13 -msgid "税收13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_13 -msgid "税收13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_13 -msgid "税收13%(含)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_6 -msgid "税收6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_6 -msgid "税收6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_6 -msgid "税收6%(含)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_9 -msgid "税收9%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_9 -msgid "税收9%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_9 -msgid "税收9%(含)" -msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/zh_CN.po b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/zh_CN.po new file mode 100644 index 0000000..0de91f4 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n/zh_CN.po @@ -0,0 +1,153 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_cn +# +# Weblate , 2025. +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-30 19:05+0000\n" +"PO-Revision-Date: 2025-11-17 03:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12.2\n" + +#. module: l10n_cn +#: model:ir.actions.report,print_report_name:l10n_cn.account_voucher_cn +msgid "'Voucher_%s' % (object.name)" +msgstr "'结算单_%s' % (object.name)" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Account" +msgstr "科目" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Accounting Voucher" +msgstr "记账凭证" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Balance" +msgstr "摘要" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Credit" +msgstr "贷方" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Debit" +msgstr "借方" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Total:" +msgstr "合计:" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Date:" +msgstr "日期:" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Number of attachments:" +msgstr "附件数:" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Poster:" +msgstr "过账:" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Reference:" +msgstr "凭证号:" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Salesperson:" +msgstr "制单:" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.report_voucher_document +msgid "Validator:" +msgstr "审核:" + +#. module: l10n_cn +#: model:ir.model,name:l10n_cn.model_account_chart_template +msgid "Account Chart Template" +msgstr "科目表模版" + +#. module: l10n_cn +#. odoo-python +#: code:addons/l10n_cn/models/template_cn_large_bis.py:0 +msgid "Accounting Standards for Business Enterprises" +msgstr "企业会计准则" + +#. module: l10n_cn +#. odoo-python +#: code:addons/l10n_cn/models/template_cn.py:0 +msgid "Accounting Standards for Small Business Enterprises" +msgstr "小型企业会计准则" + +#. module: l10n_cn +#. odoo-python +#: code:addons/l10n_cn/models/template_cn_common.py:0 +msgid "Cash" +msgstr "现金" + +#. module: l10n_cn +#. odoo-python +#: code:addons/l10n_cn/models/template_cn_common.py:0 +msgid "Common" +msgstr "通用" + +#. module: l10n_cn +#: model:ir.model.fields,field_description:l10n_cn.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_cn.field_account_move__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: l10n_cn +#: model:ir.model.fields,field_description:l10n_cn.field_account_bank_statement_line__fapiao +#: model:ir.model.fields,field_description:l10n_cn.field_account_move__fapiao +msgid "Fapiao Number" +msgstr "发票号码" + +#. module: l10n_cn +#. odoo-python +#: code:addons/l10n_cn/models/account_move.py:0 +msgid "Fapiao number is an 8-digit number. Please enter a correct one." +msgstr "发票号码为 8 位数字。请正确输入." + +#. module: l10n_cn +#: model:ir.model.fields,field_description:l10n_cn.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_cn.field_account_move__id +msgid "ID" +msgstr "ID" + +#. module: l10n_cn +#: model:ir.model,name:l10n_cn.model_account_move +msgid "Journal Entry" +msgstr "日记账分录" + +#. module: l10n_cn +#: model_terms:ir.ui.view,arch_db:l10n_cn.external_layout_boxed +msgid "Logo" +msgstr "标志" + +#. module: l10n_cn +#: model:ir.actions.report,name:l10n_cn.account_voucher_cn +msgid "Voucher" +msgstr "凭证" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n_extra/l10n_cn.pot b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n_extra/l10n_cn.pot deleted file mode 100644 index f86b644..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n_extra/l10n_cn.pot +++ /dev/null @@ -1,698 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * l10n_cn -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 12:16+0000\n" -"PO-Revision-Date: 2021-03-15 12:16+0000\n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2711 -#: model:account.account,name:l10n_cn.2_l10n_cn_2711 -#: model:account.account.template,name:l10n_cn.l10n_cn_2711 -msgid "Account payable special funds" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2202 -#: model:account.account,name:l10n_cn.2_l10n_cn_2202 -#: model:account.account.template,name:l10n_cn.l10n_cn_2202 -msgid "Accounts Payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1122 -#: model:account.account,name:l10n_cn.2_l10n_cn_1122 -#: model:account.account.template,name:l10n_cn.l10n_cn_1122 -msgid "Accounts Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1124 -#: model:account.account,name:l10n_cn.2_l10n_cn_1124 -#: model:account.account.template,name:l10n_cn.l10n_cn_1124 -msgid "Accounts Receivable (PoS)" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1702 -#: model:account.account,name:l10n_cn.2_l10n_cn_1702 -#: model:account.account.template,name:l10n_cn.l10n_cn_1702 -msgid "Accumulated amortization" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1602 -#: model:account.account,name:l10n_cn.2_l10n_cn_1602 -#: model:account.account.template,name:l10n_cn.l10n_cn_1602 -msgid "Accumulated depreciation" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1123 -#: model:account.account,name:l10n_cn.2_l10n_cn_1123 -#: model:account.account.template,name:l10n_cn.l10n_cn_1123 -msgid "Advance Payment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6701 -#: model:account.account,name:l10n_cn.2_l10n_cn_6701 -#: model:account.account.template,name:l10n_cn.l10n_cn_6701 -msgid "Assets impairment Loss" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1503 -#: model:account.account,name:l10n_cn.2_l10n_cn_1503 -#: model:account.account.template,name:l10n_cn.l10n_cn_1503 -msgid "Available for sale financial assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1231 -#: model:account.account,name:l10n_cn.2_l10n_cn_1231 -#: model:account.account.template,name:l10n_cn.l10n_cn_1231 -msgid "Bad Debt Provisions" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2201 -#: model:account.account,name:l10n_cn.2_l10n_cn_2201 -#: model:account.account.template,name:l10n_cn.l10n_cn_2201 -msgid "Bills Payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1121 -#: model:account.account,name:l10n_cn.2_l10n_cn_1121 -#: model:account.account.template,name:l10n_cn.l10n_cn_1121 -msgid "Bills Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2502 -#: model:account.account,name:l10n_cn.2_l10n_cn_2502 -#: model:account.account.template,name:l10n_cn.l10n_cn_2502 -msgid "Bonds Payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4002 -#: model:account.account,name:l10n_cn.2_l10n_cn_4002 -#: model:account.account.template,name:l10n_cn.l10n_cn_4002 -msgid "Capital Surplus" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1408 -#: model:account.account,name:l10n_cn.2_l10n_cn_1408 -#: model:account.account.template,name:l10n_cn.l10n_cn_1408 -msgid "Consigned processing materials" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1604 -#: model:account.account,name:l10n_cn.2_l10n_cn_1604 -#: model:account.account.template,name:l10n_cn.l10n_cn_1604 -msgid "Construction in progress" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2901 -#: model:account.account,name:l10n_cn.2_l10n_cn_2901 -#: model:account.account.template,name:l10n_cn.l10n_cn_2901 -msgid "Deferred Tax Liability" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2203 -#: model:account.account,name:l10n_cn.2_l10n_cn_2203 -#: model:account.account.template,name:l10n_cn.l10n_cn_2203 -msgid "Deposit Received" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1407 -#: model:account.account,name:l10n_cn.2_l10n_cn_1407 -#: model:account.account.template,name:l10n_cn.l10n_cn_1407 -msgid "Differences between purchasing and selling price" -msgstr "" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_move__display_name -msgid "Display Name" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1131 -#: model:account.account,name:l10n_cn.2_l10n_cn_1131 -#: model:account.account.template,name:l10n_cn.l10n_cn_1131 -msgid "Divident Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2241 -#: model:account.account,name:l10n_cn.2_l10n_cn_2241 -#: model:account.account.template,name:l10n_cn.l10n_cn_2241 -msgid "Dividents payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1605 -#: model:account.account,name:l10n_cn.2_l10n_cn_1605 -#: model:account.account.template,name:l10n_cn.l10n_cn_1605 -msgid "Engineering materials" -msgstr "" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_bank_statement_line__fapiao -#: model:ir.model.fields,field_description:l10n_cn.field_account_move__fapiao -#: model:ir.model.fields,field_description:l10n_cn.field_account_payment__fapiao -msgid "Fapiao Number" -msgstr "" - -#. module: l10n_cn -#: code:addons/l10n_cn/models/account_move.py:0 -#, python-format -msgid "Fapiao number is an 8-digit number. Please enter a correct one." -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6603 -#: model:account.account,name:l10n_cn.2_l10n_cn_6603 -#: model:account.account.template,name:l10n_cn.l10n_cn_6603 -msgid "Financial Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1601 -#: model:account.account,name:l10n_cn.2_l10n_cn_1601 -#: model:account.account.template,name:l10n_cn.l10n_cn_1601 -msgid "Fixed assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1603 -#: model:account.account,name:l10n_cn.2_l10n_cn_1603 -#: model:account.account.template,name:l10n_cn.l10n_cn_1603 -msgid "Fixed assets depreciation reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6101 -#: model:account.account,name:l10n_cn.2_l10n_cn_6101 -#: model:account.account.template,name:l10n_cn.l10n_cn_6101 -msgid "Gains and Losses of fair value change" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1406 -#: model:account.account,name:l10n_cn.2_l10n_cn_1406 -#: model:account.account.template,name:l10n_cn.l10n_cn_1406 -msgid "Goods shipped in transit" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1711 -#: model:account.account,name:l10n_cn.2_l10n_cn_1711 -#: model:account.account.template,name:l10n_cn.l10n_cn_1711 -msgid "Goodwill" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1501 -#: model:account.account,name:l10n_cn.2_l10n_cn_1501 -#: model:account.account.template,name:l10n_cn.l10n_cn_1501 -msgid "Held to maturity Investment" -msgstr "" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_move__id -msgid "ID" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1512 -#: model:account.account,name:l10n_cn.2_l10n_cn_1512 -#: model:account.account.template,name:l10n_cn.l10n_cn_1512 -msgid "Impairment provision for long-term equity investments" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6801 -#: model:account.account,name:l10n_cn.2_l10n_cn_6801 -#: model:account.account.template,name:l10n_cn.l10n_cn_6801 -msgid "Income Tax Expense" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6111 -#: model:account.account,name:l10n_cn.2_l10n_cn_6111 -#: model:account.account.template,name:l10n_cn.l10n_cn_6111 -msgid "Income from investment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1701 -#: model:account.account,name:l10n_cn.2_l10n_cn_1701 -#: model:account.account.template,name:l10n_cn.l10n_cn_1701 -msgid "Intangible Assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1703 -#: model:account.account,name:l10n_cn.2_l10n_cn_1703 -#: model:account.account.template,name:l10n_cn.l10n_cn_1703 -msgid "Intangible Assets Depreciation Reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1132 -#: model:account.account,name:l10n_cn.2_l10n_cn_1132 -#: model:account.account.template,name:l10n_cn.l10n_cn_1132 -msgid "Interest Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2231 -#: model:account.account,name:l10n_cn.2_l10n_cn_2231 -#: model:account.account.template,name:l10n_cn.l10n_cn_2231 -msgid "Interest payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1471 -#: model:account.account,name:l10n_cn.2_l10n_cn_1471 -#: model:account.account.template,name:l10n_cn.l10n_cn_1471 -msgid "Inventory falling price reserves" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1521 -#: model:account.account,name:l10n_cn.2_l10n_cn_1521 -#: model:account.account.template,name:l10n_cn.l10n_cn_1521 -msgid "Investmental real estate" -msgstr "" - -#. module: l10n_cn -#: model:ir.model,name:l10n_cn.model_account_move -msgid "Journal Entry" -msgstr "" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_move____last_update -msgid "Last Modified on" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1606 -#: model:account.account,name:l10n_cn.2_l10n_cn_1606 -#: model:account.account.template,name:l10n_cn.l10n_cn_1606 -msgid "Liquidation of fixed assets" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_chart_china_small_business_liquidity_transfer -#: model:account.account,name:l10n_cn.2_l10n_chart_china_small_business_liquidity_transfer -#: model:account.account.template,name:l10n_cn.l10n_chart_china_small_business_liquidity_transfer -msgid "Liquidity Transfer" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2701 -#: model:account.account,name:l10n_cn.2_l10n_cn_2701 -#: model:account.account.template,name:l10n_cn.l10n_cn_2701 -msgid "Long Term payables" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1801 -#: model:account.account,name:l10n_cn.2_l10n_cn_1801 -#: model:account.account.template,name:l10n_cn.l10n_cn_1801 -msgid "Long-term amortized expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1511 -#: model:account.account,name:l10n_cn.2_l10n_cn_1511 -#: model:account.account.template,name:l10n_cn.l10n_cn_1511 -msgid "Long-term equity investment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1531 -#: model:account.account,name:l10n_cn.2_l10n_cn_1531 -#: model:account.account.template,name:l10n_cn.l10n_cn_1531 -msgid "Long-term receivables" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6401 -#: model:account.account,name:l10n_cn.2_l10n_cn_6401 -#: model:account.account.template,name:l10n_cn.l10n_cn_6401 -msgid "Main Business Cost" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6001 -#: model:account.account,name:l10n_cn.2_l10n_cn_6001 -#: model:account.account.template,name:l10n_cn.l10n_cn_6001 -msgid "Main Business Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6602 -#: model:account.account,name:l10n_cn.2_l10n_cn_6602 -#: model:account.account.template,name:l10n_cn.l10n_cn_6602 -msgid "Management Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_5101 -#: model:account.account,name:l10n_cn.2_l10n_cn_5101 -#: model:account.account.template,name:l10n_cn.l10n_cn_5101 -msgid "Manufacturing Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1404 -#: model:account.account,name:l10n_cn.2_l10n_cn_1404 -#: model:account.account.template,name:l10n_cn.l10n_cn_1404 -msgid "Material Cost Variance" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1401 -#: model:account.account,name:l10n_cn.2_l10n_cn_1401 -#: model:account.account.template,name:l10n_cn.l10n_cn_1401 -msgid "Material Purchasing" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1402 -#: model:account.account,name:l10n_cn.2_l10n_cn_1402 -#: model:account.account.template,name:l10n_cn.l10n_cn_1402 -msgid "Materials in transit" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1405 -#: model:account.account,name:l10n_cn.2_l10n_cn_1405 -#: model:account.account.template,name:l10n_cn.l10n_cn_1405 -msgid "Merchandise Inventory" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6301 -#: model:account.account,name:l10n_cn.2_l10n_cn_6301 -#: model:account.account.template,name:l10n_cn.l10n_cn_6301 -msgid "Non-operating Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6711 -#: model:account.account,name:l10n_cn.2_l10n_cn_6711 -#: model:account.account.template,name:l10n_cn.l10n_cn_6711 -msgid "Non-operating expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6403 -#: model:account.account,name:l10n_cn.2_l10n_cn_6403 -#: model:account.account.template,name:l10n_cn.l10n_cn_6403 -msgid "Operating Taxes and Surcharges" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6051 -#: model:account.account,name:l10n_cn.2_l10n_cn_6051 -#: model:account.account.template,name:l10n_cn.l10n_cn_6051 -msgid "Other Business Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4003 -#: model:account.account,name:l10n_cn.2_l10n_cn_4003 -#: model:account.account.template,name:l10n_cn.l10n_cn_4003 -msgid "Other Comprehensive Income" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1012 -#: model:account.account,name:l10n_cn.2_l10n_cn_1012 -#: model:account.account.template,name:l10n_cn.l10n_cn_1012 -msgid "Other Monetary Funds" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6402 -#: model:account.account,name:l10n_cn.2_l10n_cn_6402 -#: model:account.account.template,name:l10n_cn.l10n_cn_6402 -msgid "Other Operating Costs" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1221 -#: model:account.account,name:l10n_cn.2_l10n_cn_1221 -#: model:account.account.template,name:l10n_cn.l10n_cn_1221 -msgid "Other Receivable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2501 -#: model:account.account,name:l10n_cn.2_l10n_cn_2501 -#: model:account.account.template,name:l10n_cn.l10n_cn_2501 -msgid "Other payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4001 -#: model:account.account,name:l10n_cn.2_l10n_cn_4001 -#: model:account.account.template,name:l10n_cn.l10n_cn_4001 -msgid "Paid in capital" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2211 -#: model:account.account,name:l10n_cn.2_l10n_cn_2211 -#: model:account.account.template,name:l10n_cn.l10n_cn_2211 -msgid "Payroll payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6901 -#: model:account.account,name:l10n_cn.2_l10n_cn_6901 -#: model:account.account.template,name:l10n_cn.l10n_cn_6901 -msgid "Prior year income adjustment" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_5001 -#: model:account.account,name:l10n_cn.2_l10n_cn_5001 -#: model:account.account.template,name:l10n_cn.l10n_cn_5001 -msgid "Production Costs" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4104 -#: model:account.account,name:l10n_cn.2_l10n_cn_4104 -#: model:account.account.template,name:l10n_cn.l10n_cn_4104 -msgid "Profit distribution" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4103 -#: model:account.account,name:l10n_cn.2_l10n_cn_4103 -#: model:account.account.template,name:l10n_cn.l10n_cn_4103 -msgid "Profit for the year" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2801 -#: model:account.account,name:l10n_cn.2_l10n_cn_2801 -#: model:account.account.template,name:l10n_cn.l10n_cn_2801 -msgid "Projected liabilities" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1502 -#: model:account.account,name:l10n_cn.2_l10n_cn_1502 -#: model:account.account.template,name:l10n_cn.l10n_cn_1502 -msgid "Provision for impairment of investments held to maturity" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_5301 -#: model:account.account,name:l10n_cn.2_l10n_cn_5301 -#: model:account.account.template,name:l10n_cn.l10n_cn_5301 -msgid "R & D expenditure" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1403 -#: model:account.account,name:l10n_cn.2_l10n_cn_1403 -#: model:account.account.template,name:l10n_cn.l10n_cn_1403 -msgid "Raw Material" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6601 -#: model:account.account,name:l10n_cn.2_l10n_cn_6601 -#: model:account.account.template,name:l10n_cn.l10n_cn_6601 -msgid "Selling Expenses" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_5201 -#: model:account.account,name:l10n_cn.2_l10n_cn_5201 -#: model:account.account.template,name:l10n_cn.l10n_cn_5201 -msgid "Service Cost" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2001 -#: model:account.account,name:l10n_cn.2_l10n_cn_2001 -#: model:account.account.template,name:l10n_cn.l10n_cn_2001 -msgid "Short-term borrowing" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4101 -#: model:account.account,name:l10n_cn.2_l10n_cn_4101 -#: model:account.account.template,name:l10n_cn.l10n_cn_4101 -msgid "Surplus Reserve" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2221 -#: model:account.account,name:l10n_cn.2_l10n_cn_2221 -#: model:account.account.template,name:l10n_cn.l10n_cn_2221 -msgid "Tax payable" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1101 -#: model:account.account,name:l10n_cn.2_l10n_cn_1101 -#: model:account.account.template,name:l10n_cn.l10n_cn_1101 -msgid "Transactional Financial Assets" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_13 -msgid "VAT 13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_6 -msgid "VAT 6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_9 -msgid "VAT 9%" -msgstr "" - -#. module: l10n_cn -#: model:account.chart.template,name:l10n_cn.l10n_chart_china_small_business -msgid "小企业会计科目表(财会[2011]17号《小企业会计准则》)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_purchase_excluded_13 -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_excluded_13 -#: model:account.tax,description:l10n_cn.2_l10n_cn_purchase_excluded_13 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_excluded_13 -#: model:account.tax,name:l10n_cn.1_l10n_cn_purchase_excluded_13 -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_excluded_13 -#: model:account.tax,name:l10n_cn.2_l10n_cn_purchase_excluded_13 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_excluded_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_13 -msgid "税收13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_included_13 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_included_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_13 -msgid "税收13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_included_13 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_included_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_13 -msgid "税收13%(含)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.1_l10n_cn_purchase_excluded_6 -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_excluded_6 -#: model:account.tax,name:l10n_cn.2_l10n_cn_purchase_excluded_6 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_excluded_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_6 -msgid "税收6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_purchase_excluded_6 -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_excluded_6 -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_included_6 -#: model:account.tax,description:l10n_cn.2_l10n_cn_purchase_excluded_6 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_excluded_6 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_included_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_6 -msgid "税收6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_included_6 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_included_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_6 -msgid "税收6%(含)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_purchase_excluded_9 -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_excluded_9 -#: model:account.tax,description:l10n_cn.2_l10n_cn_purchase_excluded_9 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_excluded_9 -#: model:account.tax,name:l10n_cn.1_l10n_cn_purchase_excluded_9 -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_excluded_9 -#: model:account.tax,name:l10n_cn.2_l10n_cn_purchase_excluded_9 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_excluded_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_9 -msgid "税收9%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_included_9 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_included_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_9 -msgid "税收9%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_included_9 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_included_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_9 -msgid "税收9%(含)" -msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n_extra/zh_CN.po b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n_extra/zh_CN.po deleted file mode 100644 index ea07229..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/i18n_extra/zh_CN.po +++ /dev/null @@ -1,699 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * l10n_cn -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 16\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-15 12:16+0000\n" -"PO-Revision-Date: 2023-04-25 12:28+0800\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2711 -#: model:account.account,name:l10n_cn.2_l10n_cn_2711 -#: model:account.account.template,name:l10n_cn.l10n_cn_2711 -msgid "Account payable special funds" -msgstr "专项应付款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2202 -#: model:account.account,name:l10n_cn.2_l10n_cn_2202 -#: model:account.account.template,name:l10n_cn.l10n_cn_2202 -msgid "Accounts Payable" -msgstr "应付账款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1122 -#: model:account.account,name:l10n_cn.2_l10n_cn_1122 -#: model:account.account.template,name:l10n_cn.l10n_cn_1122 -msgid "Accounts Receivable" -msgstr "应收账款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1124 -#: model:account.account,name:l10n_cn.2_l10n_cn_1124 -#: model:account.account.template,name:l10n_cn.l10n_cn_1124 -msgid "Accounts Receivable (PoS)" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1702 -#: model:account.account,name:l10n_cn.2_l10n_cn_1702 -#: model:account.account.template,name:l10n_cn.l10n_cn_1702 -msgid "Accumulated amortization" -msgstr "累计摊销" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1602 -#: model:account.account,name:l10n_cn.2_l10n_cn_1602 -#: model:account.account.template,name:l10n_cn.l10n_cn_1602 -msgid "Accumulated depreciation" -msgstr "累计折旧" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1123 -#: model:account.account,name:l10n_cn.2_l10n_cn_1123 -#: model:account.account.template,name:l10n_cn.l10n_cn_1123 -msgid "Advance Payment" -msgstr "预付账款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6701 -#: model:account.account,name:l10n_cn.2_l10n_cn_6701 -#: model:account.account.template,name:l10n_cn.l10n_cn_6701 -msgid "Assets impairment Loss" -msgstr "资产减值损失" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1503 -#: model:account.account,name:l10n_cn.2_l10n_cn_1503 -#: model:account.account.template,name:l10n_cn.l10n_cn_1503 -msgid "Available for sale financial assets" -msgstr "可供出售金融资产" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1231 -#: model:account.account,name:l10n_cn.2_l10n_cn_1231 -#: model:account.account.template,name:l10n_cn.l10n_cn_1231 -msgid "Bad Debt Provisions" -msgstr "坏账准备" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2201 -#: model:account.account,name:l10n_cn.2_l10n_cn_2201 -#: model:account.account.template,name:l10n_cn.l10n_cn_2201 -msgid "Bills Payable" -msgstr "应付票据" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1121 -#: model:account.account,name:l10n_cn.2_l10n_cn_1121 -#: model:account.account.template,name:l10n_cn.l10n_cn_1121 -msgid "Bills Receivable" -msgstr "应收票据" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2502 -#: model:account.account,name:l10n_cn.2_l10n_cn_2502 -#: model:account.account.template,name:l10n_cn.l10n_cn_2502 -msgid "Bonds Payable" -msgstr "应付债券" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4002 -#: model:account.account,name:l10n_cn.2_l10n_cn_4002 -#: model:account.account.template,name:l10n_cn.l10n_cn_4002 -msgid "Capital Surplus" -msgstr "資本公積金" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1408 -#: model:account.account,name:l10n_cn.2_l10n_cn_1408 -#: model:account.account.template,name:l10n_cn.l10n_cn_1408 -msgid "Consigned processing materials" -msgstr "委托加工的材料" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1604 -#: model:account.account,name:l10n_cn.2_l10n_cn_1604 -#: model:account.account.template,name:l10n_cn.l10n_cn_1604 -msgid "Construction in progress" -msgstr "在建工程" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2901 -#: model:account.account,name:l10n_cn.2_l10n_cn_2901 -#: model:account.account.template,name:l10n_cn.l10n_cn_2901 -msgid "Deferred Tax Liability" -msgstr "递延税项负债" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2203 -#: model:account.account,name:l10n_cn.2_l10n_cn_2203 -#: model:account.account.template,name:l10n_cn.l10n_cn_2203 -msgid "Deposit Received" -msgstr "预收账款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1407 -#: model:account.account,name:l10n_cn.2_l10n_cn_1407 -#: model:account.account.template,name:l10n_cn.l10n_cn_1407 -msgid "Differences between purchasing and selling price" -msgstr "商品进销差价" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_move__display_name -msgid "Display Name" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1131 -#: model:account.account,name:l10n_cn.2_l10n_cn_1131 -#: model:account.account.template,name:l10n_cn.l10n_cn_1131 -msgid "Divident Receivable" -msgstr "应收股利" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2241 -#: model:account.account,name:l10n_cn.2_l10n_cn_2241 -#: model:account.account.template,name:l10n_cn.l10n_cn_2241 -msgid "Dividents payable" -msgstr "应付股利" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1605 -#: model:account.account,name:l10n_cn.2_l10n_cn_1605 -#: model:account.account.template,name:l10n_cn.l10n_cn_1605 -msgid "Engineering materials" -msgstr "工程物资" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_bank_statement_line__fapiao -#: model:ir.model.fields,field_description:l10n_cn.field_account_move__fapiao -#: model:ir.model.fields,field_description:l10n_cn.field_account_payment__fapiao -msgid "Fapiao Number" -msgstr "" - -#. module: l10n_cn -#: code:addons/l10n_cn/models/account_move.py:0 -#, python-format -msgid "Fapiao number is an 8-digit number. Please enter a correct one." -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6603 -#: model:account.account,name:l10n_cn.2_l10n_cn_6603 -#: model:account.account.template,name:l10n_cn.l10n_cn_6603 -msgid "Financial Expenses" -msgstr "财务费用" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1601 -#: model:account.account,name:l10n_cn.2_l10n_cn_1601 -#: model:account.account.template,name:l10n_cn.l10n_cn_1601 -msgid "Fixed assets" -msgstr "固定资产" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1603 -#: model:account.account,name:l10n_cn.2_l10n_cn_1603 -#: model:account.account.template,name:l10n_cn.l10n_cn_1603 -msgid "Fixed assets depreciation reserves" -msgstr "固定资产减值准备" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6101 -#: model:account.account,name:l10n_cn.2_l10n_cn_6101 -#: model:account.account.template,name:l10n_cn.l10n_cn_6101 -msgid "Gains and Losses of fair value change" -msgstr "公允价值变动损益" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1406 -#: model:account.account,name:l10n_cn.2_l10n_cn_1406 -#: model:account.account.template,name:l10n_cn.l10n_cn_1406 -msgid "Goods shipped in transit" -msgstr "运输中的货物" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1711 -#: model:account.account,name:l10n_cn.2_l10n_cn_1711 -#: model:account.account.template,name:l10n_cn.l10n_cn_1711 -msgid "Goodwill" -msgstr "商誉" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1501 -#: model:account.account,name:l10n_cn.2_l10n_cn_1501 -#: model:account.account.template,name:l10n_cn.l10n_cn_1501 -msgid "Held to maturity Investment" -msgstr "持有至到期的投资" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_move__id -msgid "ID" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1512 -#: model:account.account,name:l10n_cn.2_l10n_cn_1512 -#: model:account.account.template,name:l10n_cn.l10n_cn_1512 -msgid "Impairment provision for long-term equity investments" -msgstr "长期股权投资的减值准备" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6801 -#: model:account.account,name:l10n_cn.2_l10n_cn_6801 -#: model:account.account.template,name:l10n_cn.l10n_cn_6801 -msgid "Income Tax Expense" -msgstr "所得税费用" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6111 -#: model:account.account,name:l10n_cn.2_l10n_cn_6111 -#: model:account.account.template,name:l10n_cn.l10n_cn_6111 -msgid "Income from investment" -msgstr "投资收益" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1701 -#: model:account.account,name:l10n_cn.2_l10n_cn_1701 -#: model:account.account.template,name:l10n_cn.l10n_cn_1701 -msgid "Intangible Assets" -msgstr "无形资产" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1703 -#: model:account.account,name:l10n_cn.2_l10n_cn_1703 -#: model:account.account.template,name:l10n_cn.l10n_cn_1703 -msgid "Intangible Assets Depreciation Reserves" -msgstr "无形资产减值准备" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1132 -#: model:account.account,name:l10n_cn.2_l10n_cn_1132 -#: model:account.account.template,name:l10n_cn.l10n_cn_1132 -msgid "Interest Receivable" -msgstr "应收利息" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2231 -#: model:account.account,name:l10n_cn.2_l10n_cn_2231 -#: model:account.account.template,name:l10n_cn.l10n_cn_2231 -msgid "Interest payable" -msgstr "应付利息" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1471 -#: model:account.account,name:l10n_cn.2_l10n_cn_1471 -#: model:account.account.template,name:l10n_cn.l10n_cn_1471 -msgid "Inventory falling price reserves" -msgstr "存货跌价准备" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1521 -#: model:account.account,name:l10n_cn.2_l10n_cn_1521 -#: model:account.account.template,name:l10n_cn.l10n_cn_1521 -msgid "Investmental real estate" -msgstr "投资性房地产" - -#. module: l10n_cn -#: model:ir.model,name:l10n_cn.model_account_move -msgid "Journal Entry" -msgstr "" - -#. module: l10n_cn -#: model:ir.model.fields,field_description:l10n_cn.field_account_move____last_update -msgid "Last Modified on" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1606 -#: model:account.account,name:l10n_cn.2_l10n_cn_1606 -#: model:account.account.template,name:l10n_cn.l10n_cn_1606 -msgid "Liquidation of fixed assets" -msgstr "固定资产情况" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_chart_china_small_business_liquidity_transfer -#: model:account.account,name:l10n_cn.2_l10n_chart_china_small_business_liquidity_transfer -#: model:account.account.template,name:l10n_cn.l10n_chart_china_small_business_liquidity_transfer -msgid "Liquidity Transfer" -msgstr "" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2701 -#: model:account.account,name:l10n_cn.2_l10n_cn_2701 -#: model:account.account.template,name:l10n_cn.l10n_cn_2701 -msgid "Long Term payables" -msgstr "长期应付款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1801 -#: model:account.account,name:l10n_cn.2_l10n_cn_1801 -#: model:account.account.template,name:l10n_cn.l10n_cn_1801 -msgid "Long-term amortized expenses" -msgstr "长期待摊销费用" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1511 -#: model:account.account,name:l10n_cn.2_l10n_cn_1511 -#: model:account.account.template,name:l10n_cn.l10n_cn_1511 -msgid "Long-term equity investment" -msgstr "长期股权投资" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1531 -#: model:account.account,name:l10n_cn.2_l10n_cn_1531 -#: model:account.account.template,name:l10n_cn.l10n_cn_1531 -msgid "Long-term receivables" -msgstr "长期应收款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6401 -#: model:account.account,name:l10n_cn.2_l10n_cn_6401 -#: model:account.account.template,name:l10n_cn.l10n_cn_6401 -msgid "Main Business Cost" -msgstr "主营营业成本" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6001 -#: model:account.account,name:l10n_cn.2_l10n_cn_6001 -#: model:account.account.template,name:l10n_cn.l10n_cn_6001 -msgid "Main Business Income" -msgstr "主营营业收入" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6602 -#: model:account.account,name:l10n_cn.2_l10n_cn_6602 -#: model:account.account.template,name:l10n_cn.l10n_cn_6602 -msgid "Management Expenses" -msgstr "管理費用" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_5101 -#: model:account.account,name:l10n_cn.2_l10n_cn_5101 -#: model:account.account.template,name:l10n_cn.l10n_cn_5101 -msgid "Manufacturing Expenses" -msgstr "制造費用" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1404 -#: model:account.account,name:l10n_cn.2_l10n_cn_1404 -#: model:account.account.template,name:l10n_cn.l10n_cn_1404 -msgid "Material Cost Variance" -msgstr "材料成本差异" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1401 -#: model:account.account,name:l10n_cn.2_l10n_cn_1401 -#: model:account.account.template,name:l10n_cn.l10n_cn_1401 -msgid "Material Purchasing" -msgstr "材料采购" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1402 -#: model:account.account,name:l10n_cn.2_l10n_cn_1402 -#: model:account.account.template,name:l10n_cn.l10n_cn_1402 -msgid "Materials in transit" -msgstr "在途物资" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1405 -#: model:account.account,name:l10n_cn.2_l10n_cn_1405 -#: model:account.account.template,name:l10n_cn.l10n_cn_1405 -msgid "Merchandise Inventory" -msgstr "库存商品" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6301 -#: model:account.account,name:l10n_cn.2_l10n_cn_6301 -#: model:account.account.template,name:l10n_cn.l10n_cn_6301 -msgid "Non-operating Income" -msgstr "营业外收入" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6711 -#: model:account.account,name:l10n_cn.2_l10n_cn_6711 -#: model:account.account.template,name:l10n_cn.l10n_cn_6711 -msgid "Non-operating expenses" -msgstr "营业外支出" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6403 -#: model:account.account,name:l10n_cn.2_l10n_cn_6403 -#: model:account.account.template,name:l10n_cn.l10n_cn_6403 -msgid "Operating Taxes and Surcharges" -msgstr "营业税及附加" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6051 -#: model:account.account,name:l10n_cn.2_l10n_cn_6051 -#: model:account.account.template,name:l10n_cn.l10n_cn_6051 -msgid "Other Business Income" -msgstr "其他业务收入" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4003 -#: model:account.account,name:l10n_cn.2_l10n_cn_4003 -#: model:account.account.template,name:l10n_cn.l10n_cn_4003 -msgid "Other Comprehensive Income" -msgstr "其他综合收益" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1012 -#: model:account.account,name:l10n_cn.2_l10n_cn_1012 -#: model:account.account.template,name:l10n_cn.l10n_cn_1012 -msgid "Other Monetary Funds" -msgstr "其他货币资金" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6402 -#: model:account.account,name:l10n_cn.2_l10n_cn_6402 -#: model:account.account.template,name:l10n_cn.l10n_cn_6402 -msgid "Other Operating Costs" -msgstr "其他业务成本" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1221 -#: model:account.account,name:l10n_cn.2_l10n_cn_1221 -#: model:account.account.template,name:l10n_cn.l10n_cn_1221 -msgid "Other Receivable" -msgstr "其他应收款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2501 -#: model:account.account,name:l10n_cn.2_l10n_cn_2501 -#: model:account.account.template,name:l10n_cn.l10n_cn_2501 -msgid "Other payable" -msgstr "其他应付款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4001 -#: model:account.account,name:l10n_cn.2_l10n_cn_4001 -#: model:account.account.template,name:l10n_cn.l10n_cn_4001 -msgid "Paid in capital" -msgstr "实收资本" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2211 -#: model:account.account,name:l10n_cn.2_l10n_cn_2211 -#: model:account.account.template,name:l10n_cn.l10n_cn_2211 -msgid "Payroll payable" -msgstr "应付职工薪酬" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6901 -#: model:account.account,name:l10n_cn.2_l10n_cn_6901 -#: model:account.account.template,name:l10n_cn.l10n_cn_6901 -msgid "Prior year income adjustment" -msgstr "以前年度损益调整" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_5001 -#: model:account.account,name:l10n_cn.2_l10n_cn_5001 -#: model:account.account.template,name:l10n_cn.l10n_cn_5001 -msgid "Production Costs" -msgstr "生产成本" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4104 -#: model:account.account,name:l10n_cn.2_l10n_cn_4104 -#: model:account.account.template,name:l10n_cn.l10n_cn_4104 -msgid "Profit distribution" -msgstr "利润分配" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4103 -#: model:account.account,name:l10n_cn.2_l10n_cn_4103 -#: model:account.account.template,name:l10n_cn.l10n_cn_4103 -msgid "Profit for the year" -msgstr "本年利润" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2801 -#: model:account.account,name:l10n_cn.2_l10n_cn_2801 -#: model:account.account.template,name:l10n_cn.l10n_cn_2801 -msgid "Projected liabilities" -msgstr "预计负债" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1502 -#: model:account.account,name:l10n_cn.2_l10n_cn_1502 -#: model:account.account.template,name:l10n_cn.l10n_cn_1502 -msgid "Provision for impairment of investments held to maturity" -msgstr "持有至到期投资的减值准备" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_5301 -#: model:account.account,name:l10n_cn.2_l10n_cn_5301 -#: model:account.account.template,name:l10n_cn.l10n_cn_5301 -msgid "R & D expenditure" -msgstr "研发支出" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1403 -#: model:account.account,name:l10n_cn.2_l10n_cn_1403 -#: model:account.account.template,name:l10n_cn.l10n_cn_1403 -msgid "Raw Material" -msgstr "原材料" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_6601 -#: model:account.account,name:l10n_cn.2_l10n_cn_6601 -#: model:account.account.template,name:l10n_cn.l10n_cn_6601 -msgid "Selling Expenses" -msgstr "销售费用" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_5201 -#: model:account.account,name:l10n_cn.2_l10n_cn_5201 -#: model:account.account.template,name:l10n_cn.l10n_cn_5201 -msgid "Service Cost" -msgstr "劳务成本" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2001 -#: model:account.account,name:l10n_cn.2_l10n_cn_2001 -#: model:account.account.template,name:l10n_cn.l10n_cn_2001 -msgid "Short-term borrowing" -msgstr "短期借款" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_4101 -#: model:account.account,name:l10n_cn.2_l10n_cn_4101 -#: model:account.account.template,name:l10n_cn.l10n_cn_4101 -msgid "Surplus Reserve" -msgstr "盈余公积" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_2221 -#: model:account.account,name:l10n_cn.2_l10n_cn_2221 -#: model:account.account.template,name:l10n_cn.l10n_cn_2221 -msgid "Tax payable" -msgstr "应交税金" - -#. module: l10n_cn -#: model:account.account,name:l10n_cn.1_l10n_cn_1101 -#: model:account.account,name:l10n_cn.2_l10n_cn_1101 -#: model:account.account.template,name:l10n_cn.l10n_cn_1101 -msgid "Transactional Financial Assets" -msgstr "交易性金融资产" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_13 -msgid "VAT 13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_6 -msgid "VAT 6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax.group,name:l10n_cn.l10n_cn_tax_group_vat_9 -msgid "VAT 9%" -msgstr "" - -#. module: l10n_cn -#: model:account.chart.template,name:l10n_cn.l10n_chart_china_small_business -msgid "小企业会计科目表(财会[2011]17号《小企业会计准则》)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_purchase_excluded_13 -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_excluded_13 -#: model:account.tax,description:l10n_cn.2_l10n_cn_purchase_excluded_13 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_excluded_13 -#: model:account.tax,name:l10n_cn.1_l10n_cn_purchase_excluded_13 -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_excluded_13 -#: model:account.tax,name:l10n_cn.2_l10n_cn_purchase_excluded_13 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_excluded_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_13 -msgid "税收13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_included_13 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_included_13 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_13 -msgid "税收13%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_included_13 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_included_13 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_13 -msgid "税收13%(含)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.1_l10n_cn_purchase_excluded_6 -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_excluded_6 -#: model:account.tax,name:l10n_cn.2_l10n_cn_purchase_excluded_6 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_excluded_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_6 -msgid "税收6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_purchase_excluded_6 -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_excluded_6 -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_included_6 -#: model:account.tax,description:l10n_cn.2_l10n_cn_purchase_excluded_6 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_excluded_6 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_included_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_6 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_6 -msgid "税收6%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_included_6 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_included_6 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_6 -msgid "税收6%(含)" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_purchase_excluded_9 -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_excluded_9 -#: model:account.tax,description:l10n_cn.2_l10n_cn_purchase_excluded_9 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_excluded_9 -#: model:account.tax,name:l10n_cn.1_l10n_cn_purchase_excluded_9 -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_excluded_9 -#: model:account.tax,name:l10n_cn.2_l10n_cn_purchase_excluded_9 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_excluded_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_purchase_excluded_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_excluded_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_purchase_excluded_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_excluded_9 -msgid "税收9%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,description:l10n_cn.1_l10n_cn_sales_included_9 -#: model:account.tax,description:l10n_cn.2_l10n_cn_sales_included_9 -#: model:account.tax.template,description:l10n_cn.l10n_cn_sales_included_9 -msgid "税收9%" -msgstr "" - -#. module: l10n_cn -#: model:account.tax,name:l10n_cn.1_l10n_cn_sales_included_9 -#: model:account.tax,name:l10n_cn.2_l10n_cn_sales_included_9 -#: model:account.tax.template,name:l10n_cn.l10n_cn_sales_included_9 -msgid "税收9%(含)" -msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/migrations/1.9/pre-migrate.py b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/migrations/1.9/pre-migrate.py deleted file mode 100644 index b1bff8c..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/migrations/1.9/pre-migrate.py +++ /dev/null @@ -1,9 +0,0 @@ -def migrate(cr, version): - # Set noupdate property of "account.tax.template" records to False - cr.execute( - """UPDATE ir_model_data - SET noupdate=false - WHERE module='l10n_cn' - AND model='account.tax.template' - """ - ) diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/__init__.py b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/__init__.py index c0124ef..4290cfc 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/__init__.py @@ -1,4 +1,5 @@ -# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. - +from . import template_cn_common +from . import template_cn +from . import template_cn_large_bis from . import account_move diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/account_move.py b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/account_move.py index 50cde9a..1ae71ff 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/account_move.py +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/account_move.py @@ -1,15 +1,15 @@ -# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models, _ from odoo.exceptions import ValidationError -from odoo.osv import expression +from odoo.fields import Domain try: from cn2an import an2cn except ImportError: an2cn = None + class AccountMove(models.Model): _inherit = 'account.move' @@ -40,4 +40,4 @@ class AccountMove(models.Model): domains.append([('res_model', '=', 'account.bank.statement'), ('res_id', 'in', statement_ids.ids)]) if payment_ids: domains.append([('res_model', '=', 'account.payment'), ('res_id', 'in', payment_ids.ids)]) - return self.env['ir.attachment'].search_count(expression.OR(domains)) + return self.env['ir.attachment'].search_count(Domain.OR(domains)) diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn.py b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn.py new file mode 100644 index 0000000..d4eb44c --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn.py @@ -0,0 +1,50 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import _, models +from odoo.addons.account.models.chart_template import template + + +class AccountChartTemplate(models.AbstractModel): + _inherit = 'account.chart.template' + + @template('cn') + def _get_cn_template_data(self): + return { + 'name': _('Accounting Standards for Small Business Enterprises'), + 'parent': 'cn_common', + 'property_account_expense_categ_id': 'l10n_cn_account_5401', + 'property_account_income_categ_id': 'l10n_cn_account_5001', + } + + @template('cn', 'res.company') + def _get_cn_res_company(self): + return { + self.env.company.id: { + 'account_fiscal_country_id': 'base.cn', + 'transfer_account_code_prefix': '1012', + 'income_currency_exchange_account_id': 'l10n_cn_account_530102', + 'expense_currency_exchange_account_id': 'l10n_cn_account_560302', + 'account_journal_suspense_account_id': 'l10n_cn_account_101201', + 'transfer_account_id': 'l10n_cn_account_101202', + 'account_production_wip_account_id': 'l10n_cn_account_1406', + 'default_cash_difference_income_account_id': 'l10n_cn_account_530103', + 'default_cash_difference_expense_account_id': 'l10n_cn_account_560303', + 'account_journal_early_pay_discount_gain_account_id': 'l10n_cn_account_530104', + 'account_journal_early_pay_discount_loss_account_id': 'l10n_cn_account_560304', + 'account_production_wip_overhead_account_id': 'l10n_cn_account_140601', + 'account_sale_tax_id': 'l10n_cn_sales_excluded_13', + 'account_purchase_tax_id': 'l10n_cn_purchase_excluded_13', + 'expense_account_id': 'l10n_cn_account_5401', + 'income_account_id': 'l10n_cn_account_5001', + 'tax_calculation_rounding_method': 'round_per_line', + 'account_stock_journal_id': 'inventory_valuation', + 'account_stock_valuation_id': 'l10n_cn_common_account_1403', + }, + } + + @template('cn', 'account.account') + def _get_cn_account_account(self): + return { + 'l10n_cn_common_account_1403': { + 'account_stock_variation_id': 'l10n_cn_account_5601', + }, + } diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn_common.py b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn_common.py new file mode 100644 index 0000000..afbd126 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn_common.py @@ -0,0 +1,44 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import models, _ +from odoo.addons.account.models.chart_template import template + + +class AccountChartTemplate(models.AbstractModel): + _inherit = 'account.chart.template' + + @template('cn_common') + def _get_cn_common_template_data(self): + return { + 'name': _('Common'), + 'visible': 0, + 'code_digits': 6, + 'use_storno_accounting': True, + 'property_account_receivable_id': 'l10n_cn_common_account_1122', + 'property_account_payable_id': 'l10n_cn_common_account_2202', + 'property_stock_valuation_account_id': 'l10n_cn_common_account_1405', + 'property_stock_account_production_cost_id': 'l10n_cn_common_account_1411', + } + + @template('cn_common', 'res.company') + def _get_cn_common_res_company(self): + return { + self.env.company.id: { + 'account_fiscal_country_id': 'base.cn', + 'bank_account_code_prefix': '1002', + 'cash_account_code_prefix': '1001', + 'deferred_expense_account_id': 'l10n_cn_common_account_1801', + 'deferred_revenue_account_id': 'l10n_cn_common_account_2401', + 'account_default_pos_receivable_account_id': 'l10n_cn_common_account_112201', + }, + } + + @template('cn_common', 'account.journal') + def _get_cn_account_journal(self): + return { + 'cash': { + 'name': _("Cash"), + 'type': 'cash', + 'default_account_id': 'l10n_cn_common_account_1001', + }, + 'bank': {'default_account_id': 'l10n_cn_common_account_1002'}, + } diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn_large_bis.py b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn_large_bis.py new file mode 100644 index 0000000..ff6d9cd --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/template_cn_large_bis.py @@ -0,0 +1,49 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import models, _ +from odoo.addons.account.models.chart_template import template + + +class AccountChartTemplate(models.AbstractModel): + _inherit = 'account.chart.template' + + @template('cn_large_bis') + def _get_cn_large_bis_template_data(self): + return { + 'name': _('Accounting Standards for Business Enterprises'), + 'parent': 'cn_common', + 'property_account_expense_categ_id': 'l10n_cn_large_bis_account_6401', + 'property_account_income_categ_id': 'l10n_cn_large_bis_account_6001', + } + + @template('cn_large_bis', 'res.company') + def _get_cn_large_bis_company(self): + return { + self.env.company.id: { + 'account_fiscal_country_id': 'base.cn', + 'transfer_account_code_prefix': '1004', + 'income_currency_exchange_account_id': 'l10n_cn_large_bis_account_6061', + 'expense_currency_exchange_account_id': 'l10n_cn_large_bis_account_6061', + 'account_journal_suspense_account_id': 'l10n_cn_large_bis_account_100201', + 'transfer_account_id': 'l10n_cn_large_bis_account_1004', + 'account_production_wip_account_id': 'l10n_cn_large_bis_account_140501', + 'default_cash_difference_income_account_id': 'l10n_cn_large_bis_account_630101', + 'default_cash_difference_expense_account_id': 'l10n_cn_large_bis_account_671101', + 'account_journal_early_pay_discount_gain_account_id': 'l10n_cn_large_bis_account_630102', + 'account_journal_early_pay_discount_loss_account_id': 'l10n_cn_large_bis_account_671102', + 'account_production_wip_overhead_account_id': 'l10n_cn_large_bis_account_140502', + 'account_sale_tax_id': 'l10n_cn_tax_large_bis_sales_excluded_13', + 'account_purchase_tax_id': 'l10n_cn_purchase_excluded_13', + 'expense_account_id': 'l10n_cn_large_bis_account_6401', + 'income_account_id': 'l10n_cn_large_bis_account_6001', + 'account_stock_journal_id': 'inventory_valuation', + 'account_stock_valuation_id': 'l10n_cn_common_account_1403', + }, + } + + @template('cn_large_bis', 'account.account') + def _get_cn_large_bis_account_account(self): + return { + 'l10n_cn_common_account_1403': { + 'account_stock_variation_id': 'l10n_cn_large_bis_account_6601', + }, + } diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/static/description/icon.png b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/static/description/icon.png deleted file mode 100644 index a38b21c..0000000 Binary files a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/static/description/icon.png and /dev/null differ diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/static/description/icon.svg b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/static/description/icon.svg deleted file mode 100644 index a2b9687..0000000 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/static/description/icon.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/views/account_move_view.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/views/account_move_view.xml index 7febad4..0f3525e 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/views/account_move_view.xml +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/views/account_move_view.xml @@ -1,6 +1,17 @@ + + view.invoice.tree.inherit.i10n.cn + account.move + + + + + + + + l10n_cn.account.move.form account.move @@ -8,8 +19,7 @@ - + diff --git a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/views/report_voucher.xml b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/views/report_voucher.xml index dad31b7..905af59 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/views/report_voucher.xml +++ b/odoo-bringout-oca-ocb-l10n_cn/l10n_cn/views/report_voucher.xml @@ -2,14 +2,12 @@ @@ -22,37 +20,37 @@

- 记账凭证 + Accounting Voucher

-
+
- 日期: + Date:
- 凭证号: + Reference:
- 附件数: + Number of attachments:
- +
- - - - + + + + @@ -81,7 +79,7 @@
摘要科目借方贷方BalanceAccountDebitCredit
- 合计: + Total: @@ -96,13 +94,13 @@
- 审核: + Validator:
- 过账: + Poster:
- 制单: + Salesperson:
diff --git a/odoo-bringout-oca-ocb-l10n_cn/pyproject.toml b/odoo-bringout-oca-ocb-l10n_cn/pyproject.toml index dcab757..f38dd95 100644 --- a/odoo-bringout-oca-ocb-l10n_cn/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_cn/pyproject.toml @@ -1,14 +1,15 @@ [project] name = "odoo-bringout-oca-ocb-l10n_cn" version = "16.0.0" -description = "China - Accounting - Odoo addon" +description = "China - Accounting - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-base>=16.0.0", - "odoo-bringout-oca-ocb-account>=16.0.0", - "odoo-bringout-oca-ocb-l10n_multilang>=16.0.0", + "odoo-bringout-oca-ocb-base>=19.0.0", + "odoo-bringout-oca-ocb-account>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -18,7 +19,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_din5008/README.md b/odoo-bringout-oca-ocb-l10n_din5008/README.md index 3929104..2efe16c 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/README.md +++ b/odoo-bringout-oca-ocb-l10n_din5008/README.md @@ -10,35 +10,14 @@ pip install odoo-bringout-oca-ocb-l10n_din5008 ## Dependencies -This addon depends on: - account -## Manifest Information - -- **Name**: DIN 5008 -- **Version**: 1.0 -- **Category**: Accounting/Localizations -- **License**: LGPL-3 -- **Installable**: False - ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_din5008`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_din5008 ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/__manifest__.py b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/__manifest__.py index b6529e1..e2d5b62 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/__manifest__.py @@ -6,16 +6,21 @@ 'version': '1.0', 'category': 'Accounting/Localizations', 'description': "This is the base module that defines the DIN 5008 standard in Odoo.", - 'author': 'Odoo SA', 'depends': ['account'], + 'auto_install': True, + 'countries': ['de', 'ch'], 'data': [ + 'report/din5008_base_document_layout.xml', 'report/din5008_report.xml', + 'report/din5008_account_move_layout.xml', 'data/report_layout.xml', + 'views/res_config_settings_views.xml', ], 'assets': { 'web.report_assets_common': [ 'l10n_din5008/static/src/**/*', ], }, + 'author': 'Odoo S.A.', 'license': 'LGPL-3', } diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/de.po b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/de.po index e76cb9a..4e4762c 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/de.po +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/de.po @@ -1,21 +1,24 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_din5008 +# * l10n_din5008 # +# Weblate , 2025. +# "Larissa Manderfeld (lman)" , 2025, 2026. msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 18.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:49+0000\n" -"PO-Revision-Date: 2024-02-14 08:46+0100\n" -"Last-Translator: \n" -"Language-Team: \n" +"POT-Creation-Date: 2026-01-09 19:02+0000\n" +"PO-Revision-Date: 2026-01-31 10:07+0000\n" +"Last-Translator: \"Larissa Manderfeld (lman)\" \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.14.3\n" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css @@ -32,6 +35,11 @@ msgstr "" " .name_container {\n" " color:" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "/12345" +msgstr "/12345" + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css msgid "" @@ -59,7 +67,7 @@ msgid "" " &.invoice_note {\n" " td {\n" " .address {\n" -" > span {\n" +" .colored_address {\n" " color:" msgstr "" ";\n" @@ -69,7 +77,7 @@ msgstr "" " &.invoice_note {\n" " td {\n" " .address {\n" -" > span {\n" +" .colored_address {\n" " color:" #. module: l10n_din5008 @@ -91,16 +99,21 @@ msgstr "" " th {\n" " color:" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Beneficiary:" +msgstr "Leistungsempfänger:" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Shipping Address:" +msgstr "Lieferadresse:" + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "|" msgstr "|" -#. module: l10n_din5008 -#: model:ir.model,name:l10n_din5008.model_account_analytic_line -msgid "Analytic Line" -msgstr "Kostenstellenbuchung" - #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "BIC:" @@ -112,9 +125,7 @@ msgid "Banks" msgstr "Banken" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Cancelled Invoice" msgstr "Stornierte Rechnung" @@ -123,6 +134,16 @@ msgstr "Stornierte Rechnung" msgid "City" msgstr "Stadt" +#. module: l10n_din5008 +#: model:ir.model,name:l10n_din5008.model_res_company +msgid "Companies" +msgstr "Unternehmen" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__company_details +msgid "Company Details" +msgstr "Unternehmensdetails" + #. module: l10n_din5008 #: model:ir.model,name:l10n_din5008.model_base_document_layout msgid "Company Document Layout" @@ -134,109 +155,145 @@ msgid "Company ID" msgstr "Unternehmens-ID" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model:ir.model,name:l10n_din5008.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigurationseinstellungen" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Credit Note" msgstr "Gutschrift" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Delivery Date" +msgstr "Lieferdatum" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Delivery Date:" +msgstr "Lieferdatum:" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__display_name +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__display_name +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__display_name +msgid "Display Name" +msgstr "Name anzeigen" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Draft Invoice" msgstr "Rechnungsentwurf" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format -msgid "Due Date" -msgstr "Fälligkeitsdatum" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Due Date:" +msgstr "Fälligkeitsdatum:" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.res_config_settings_view_form +msgid "Enable to show a 'Position' column on invoices and sales reports." +msgstr "" +"Aktivieren Sie die Anzeige der Spalte „Position“ auf Rechnungen und " +"Verkaufsberichten." #. module: l10n_din5008 #: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__account_fiscal_country_id msgid "Fiscal Country" msgstr "Steuerland" +#. module: l10n_din5008 +#: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__report_footer +msgid "Footer text displayed at the bottom of all reports." +msgstr "Fußzeilentext, der unten in allen Berichten angezeigt wird." + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "HRB Nr:" msgstr "HRB-Nr.:" +#. module: l10n_din5008 +#: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__company_details +msgid "Header text displayed at the top of all reports." +msgstr "Kopfzeilentext, der oben in allen Berichten angezeigt wird." + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "IBAN:" msgstr "IBAN:" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__id +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__id +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__id +msgid "ID" +msgstr "ID" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "INV/" +msgstr "INV/" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.res_config_settings_view_form +msgid "" +"If this checkbox is ticked, a 'Position' column will be displayed on " +"invoices and sales reports." +msgstr "" +"Wenn dieses Kontrollkästchen aktiviert ist, wird auf Rechnungen und " +"Verkaufsberichten eine Spalte „Position“ angezeigt." + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Incoterm" +msgstr "Incoterm" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice" msgstr "Rechnung" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice Date" msgstr "Rechnungsdatum" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Invoice Date Due" +msgstr "Fälligkeit der Rechnung" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Invoice Date:" +msgstr "Rechnungsdatum:" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice No." msgstr "Rechnungsnr." #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Invoicing Address:" -msgstr "Rechnungsadresse:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Invoice No.:" +msgstr "Rechnungsnr:" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Invoicing and Shipping Address:" -msgstr "Rechnungs- und Lieferadresse:" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_delivery_date +msgid "L10N Din5008 Delivery Date" +msgstr "L10N Din5008 Lieferdatum" #. module: l10n_din5008 -#: model:ir.model,name:l10n_din5008.model_account_move -msgid "Journal Entry" -msgstr "Journalbuchung" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_due_date +msgid "L10N Din5008 Due Date" +msgstr "L10N Din5008 Fälligkeitsdatum" #. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_addresses -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_addresses -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "L10N Din5008 Adressen" - -#. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_analytic_line__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "L10N Din5008 Dokumenttitel" - -#. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_analytic_line__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "L10N Din5008 Vorlagendaten" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_invoice_date +msgid "L10N Din5008 Invoice Date" +msgstr "L10N Din5008 Rechnungsdatum" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 @@ -244,24 +301,38 @@ msgid "Page: of " msgstr "Seite: von " #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Position" +msgstr "Position" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Reference" msgstr "Referenz" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Shipping Address:" -msgstr "Lieferadresse:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Reference:" +msgstr "Referenz:" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__report_footer +msgid "Report Footer" +msgstr "Fußzeile des Berichts" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "SO/2021/45678" +msgstr "SO/2021/45678" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__has_position_column +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__has_position_column +msgid "Show Position Column in Reports" +msgstr "Position in Berichten anzeigen" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Source" msgstr "Verweis" @@ -275,6 +346,12 @@ msgstr "Straße" msgid "Street2" msgstr "Straße 2" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Tax ID" +msgstr "USt-IdNr." + #. module: l10n_din5008 #: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__account_fiscal_country_id msgid "The country to use the tax reports from for this company" @@ -292,16 +369,17 @@ msgstr "" "eindeutig sein." #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "VAT" +msgstr "USt-IdNr." + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Vendor Bill" msgstr "Lieferantenrechnung" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Vendor Credit Note" msgstr "Lieferantengutschrift" diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/fr.po b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/fr.po index fcd1f18..e81544e 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/fr.po +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/fr.po @@ -1,21 +1,23 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_din5008 +# * l10n_din5008 # +# Weblate , 2025. msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0+e\n" +"Project-Id-Version: Odoo Server 18.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:49+0000\n" -"PO-Revision-Date: 2024-02-14 09:13+0100\n" -"Last-Translator: \n" -"Language-Team: \n" +"POT-Creation-Date: 2026-01-09 19:02+0000\n" +"PO-Revision-Date: 2025-11-17 03:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.12.2\n" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css @@ -27,6 +29,11 @@ msgid "" " color:" msgstr "" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "/12345" +msgstr "" + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css msgid "" @@ -48,7 +55,7 @@ msgid "" " &.invoice_note {\n" " td {\n" " .address {\n" -" > span {\n" +" .colored_address {\n" " color:" msgstr "" @@ -64,16 +71,21 @@ msgid "" " color:" msgstr "" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Beneficiary:" +msgstr "Bénéficiaire :" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Shipping Address:" +msgstr "Adresse d'expédition :" + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "|" msgstr "" -#. module: l10n_din5008 -#: model:ir.model,name:l10n_din5008.model_account_analytic_line -msgid "Analytic Line" -msgstr "Ligne analytique" - #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "BIC:" @@ -85,9 +97,7 @@ msgid "Banks" msgstr "Banques" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Cancelled Invoice" msgstr "Facture annulée" @@ -96,6 +106,16 @@ msgstr "Facture annulée" msgid "City" msgstr "Ville" +#. module: l10n_din5008 +#: model:ir.model,name:l10n_din5008.model_res_company +msgid "Companies" +msgstr "Sociétés" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__company_details +msgid "Company Details" +msgstr "Détails de la société" + #. module: l10n_din5008 #: model:ir.model,name:l10n_din5008.model_base_document_layout msgid "Company Document Layout" @@ -107,36 +127,66 @@ msgid "Company ID" msgstr "ID de la société" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model:ir.model,name:l10n_din5008.model_res_config_settings +msgid "Config Settings" +msgstr "Paramètres de configuration" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Credit Note" msgstr "Note de crédit" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Delivery Date" +msgstr "Date de livraison" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Delivery Date:" +msgstr "Date de livraison :" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__display_name +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__display_name +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Draft Invoice" msgstr "Facture en brouillon" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format -msgid "Due Date" -msgstr "Date d'échéance" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Due Date:" +msgstr "Date d'échéance :" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.res_config_settings_view_form +msgid "Enable to show a 'Position' column on invoices and sales reports." +msgstr "" #. module: l10n_din5008 #: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__account_fiscal_country_id msgid "Fiscal Country" msgstr "Pays d'imposition" +#. module: l10n_din5008 +#: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__report_footer +msgid "Footer text displayed at the bottom of all reports." +msgstr "Pied de page affiché sur tous les rapports." + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "HRB Nr:" -msgstr "Numéro HRB :" +msgstr "N° HRB :" + +#. module: l10n_din5008 +#: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__company_details +msgid "Header text displayed at the top of all reports." +msgstr "Texte d'en-tête affiché en haut de tous les rapports." #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 @@ -144,97 +194,113 @@ msgid "IBAN:" msgstr "IBAN :" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format -msgid "Invoice" -msgstr "Facture client" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__id +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__id +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__id +msgid "ID" +msgstr "ID" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "INV/" +msgstr "INV/" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.res_config_settings_view_form +msgid "" +"If this checkbox is ticked, a 'Position' column will be displayed on " +"invoices and sales reports." +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Incoterm" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Invoice" +msgstr "Facture" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice Date" msgstr "Date de facturation" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Invoice Date Due" +msgstr "Date d'échéance de la facture" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Invoice Date:" +msgstr "Date de facturation :" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice No." -msgstr "N° de facture" +msgstr "Numéro de facture" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Invoicing Address:" -msgstr "Adresse de facturation :" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Invoice No.:" +msgstr "Numéro de facture :" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Invoicing and Shipping Address:" -msgstr "Adresse de facturation et d'expédition :" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_delivery_date +msgid "L10N Din5008 Delivery Date" +msgstr "Date de livraison L10N Din5008" #. module: l10n_din5008 -#: model:ir.model,name:l10n_din5008.model_account_move -msgid "Journal Entry" -msgstr "Pièce comptable" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_due_date +msgid "L10N Din5008 Due Date" +msgstr "Date d'échéance L10N Din5008" #. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_addresses -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_addresses -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "Adresses L10N Din5008" - -#. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_analytic_line__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "Titre du document L10N Din5008" - -#. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_analytic_line__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "Données de modèle L10N Din5008" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_invoice_date +msgid "L10N Din5008 Invoice Date" +msgstr "Date de facturation L10N Din5008" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "Page: of " -msgstr "Page: sur " +msgstr "Page : sur " #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Position" +msgstr "Position" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Reference" msgstr "Référence" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Shipping Address:" -msgstr "Adresse de livraison :" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Reference:" +msgstr "Référence :" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__report_footer +msgid "Report Footer" +msgstr "Pied de page du rapport" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "SO/2021/45678" +msgstr "SO/2021/45678" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__has_position_column +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__has_position_column +msgid "Show Position Column in Reports" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Source" msgstr "Source" @@ -248,6 +314,12 @@ msgstr "Rue" msgid "Street2" msgstr "Rue 2" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Tax ID" +msgstr "N° de TVA" + #. module: l10n_din5008 #: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__account_fiscal_country_id msgid "The country to use the tax reports from for this company" @@ -265,18 +337,19 @@ msgstr "" "partenaires d'un même pays" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "VAT" +msgstr "TVA" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Vendor Bill" msgstr "Facture fournisseur" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Vendor Credit Note" -msgstr "Avoir fournisseur" +msgstr "Note de crédit fournisseur" #. module: l10n_din5008 #: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__zip diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/it.po b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/it.po index d352dfa..f19ffa6 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/it.po +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/it.po @@ -1,21 +1,24 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_din5008 +# * l10n_din5008 # +# Weblate , 2025. +# "Marianna Ciofani (cima)" , 2025, 2026. msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0+e\n" +"Project-Id-Version: Odoo Server 18.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:49+0000\n" -"PO-Revision-Date: 2024-02-14 09:14+0100\n" -"Last-Translator: \n" -"Language-Team: \n" +"POT-Creation-Date: 2026-01-09 19:02+0000\n" +"PO-Revision-Date: 2026-01-17 09:33+0000\n" +"Last-Translator: \"Marianna Ciofani (cima)\" \n" +"Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.14.3\n" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css @@ -26,6 +29,16 @@ msgid "" " .name_container {\n" " color:" msgstr "" +"&.din_page {\n" +" &.header {\n" +" .company_header {\n" +" .name_container {\n" +" color:" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "/12345" +msgstr "/12345" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css @@ -37,6 +50,12 @@ msgid "" " h2 {\n" " color:" msgstr "" +";\n" +" }\n" +" }\n" +" }\n" +" h2 {\n" +" color:" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css @@ -48,9 +67,18 @@ msgid "" " &.invoice_note {\n" " td {\n" " .address {\n" -" > span {\n" +" .colored_address {\n" " color:" msgstr "" +";\n" +" }\n" +" }\n" +" }\n" +" &.invoice_note {\n" +" td {\n" +" .address {\n" +" .colored_address {\n" +" color:" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css @@ -63,16 +91,28 @@ msgid "" " th {\n" " color:" msgstr "" +";\n" +" }\n" +" .page {\n" +" [name=invoice_line_table], " +"[name=stock_move_table], .o_main_table {\n" +" th {\n" +" color:" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Beneficiary:" +msgstr "Beneficiario:" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Shipping Address:" +msgstr "Indirizzo di spedizione:" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "|" -msgstr "" - -#. module: l10n_din5008 -#: model:ir.model,name:l10n_din5008.model_account_analytic_line -msgid "Analytic Line" -msgstr "Riga analitica" +msgstr "|" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 @@ -85,9 +125,7 @@ msgid "Banks" msgstr "Banche" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Cancelled Invoice" msgstr "Fattura annullata" @@ -96,6 +134,16 @@ msgstr "Fattura annullata" msgid "City" msgstr "Città" +#. module: l10n_din5008 +#: model:ir.model,name:l10n_din5008.model_res_company +msgid "Companies" +msgstr "Aziende" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__company_details +msgid "Company Details" +msgstr "Dettagli dell'azienda" + #. module: l10n_din5008 #: model:ir.model,name:l10n_din5008.model_base_document_layout msgid "Company Document Layout" @@ -107,109 +155,145 @@ msgid "Company ID" msgstr "ID Azienda" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model:ir.model,name:l10n_din5008.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni di configurazione" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Credit Note" msgstr "Nota di credito" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Draft Invoice" -msgstr "Fattura in bozza" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Delivery Date" +msgstr "Data di consegna" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format -msgid "Due Date" -msgstr "Scadenza" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Delivery Date:" +msgstr "Data di consegna:" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__display_name +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__display_name +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Draft Invoice" +msgstr "Bozza fattura" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Due Date:" +msgstr "Data di scadenza:" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.res_config_settings_view_form +msgid "Enable to show a 'Position' column on invoices and sales reports." +msgstr "" +"Attiva per mostrare una colonna 'Posizione' nelle fatture e nei resoconti " +"relativi alle vendite." #. module: l10n_din5008 #: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__account_fiscal_country_id msgid "Fiscal Country" msgstr "Paese fiscale" +#. module: l10n_din5008 +#: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__report_footer +msgid "Footer text displayed at the bottom of all reports." +msgstr "Piè di pagina visualizzato nella parte inferiore di tutti i report." + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "HRB Nr:" msgstr "No HRB:" +#. module: l10n_din5008 +#: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__company_details +msgid "Header text displayed at the top of all reports." +msgstr "Testo di intestazione visualizzato all'inizio di tutti i rapporti." + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "IBAN:" msgstr "Codice IBAN:" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__id +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__id +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__id +msgid "ID" +msgstr "ID" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "INV/" +msgstr "INV/" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.res_config_settings_view_form +msgid "" +"If this checkbox is ticked, a 'Position' column will be displayed on " +"invoices and sales reports." +msgstr "" +"Se questa casella viene selezionata, la colonna 'Posizione' verrà mostrata " +"nelle fatture e nei resoconti relativi alle vendite." + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Incoterm" +msgstr "Incoterm" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice" msgstr "Fattura" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice Date" -msgstr "Data fattura" +msgstr "Data della fattura" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Invoice Date Due" +msgstr "Data di scadenza della fattura" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Invoice Date:" +msgstr "Data della fattura:" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice No." -msgstr "Fattura n." +msgstr "Numero fattura" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Invoicing Address:" -msgstr "Indirizzo di fatturazione:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Invoice No.:" +msgstr "Numero di fattura:" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Invoicing and Shipping Address:" -msgstr "Indirizzo di fatturazione e spedizione:" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_delivery_date +msgid "L10N Din5008 Delivery Date" +msgstr "Data di consegna L10N Din5008" #. module: l10n_din5008 -#: model:ir.model,name:l10n_din5008.model_account_move -msgid "Journal Entry" -msgstr "Registrazioni contabili" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_due_date +msgid "L10N Din5008 Due Date" +msgstr "Data di scadenza L10N Din5008" #. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_addresses -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_addresses -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "Indirizzi L10N Din5008" - -#. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_analytic_line__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "Titolo del documento L10N Din5008" - -#. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_analytic_line__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "Dati modello L10N Din5008" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_invoice_date +msgid "L10N Din5008 Invoice Date" +msgstr "Data fattura L10N Din5008" #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 @@ -217,24 +301,38 @@ msgid "Page: of " msgstr "Pagina: di " #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Position" +msgstr "Posizione" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Reference" msgstr "Riferimento" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Shipping Address:" -msgstr "Indirizzo di spedizione:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Reference:" +msgstr "Riferimento:" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__report_footer +msgid "Report Footer" +msgstr "Piè di pagina report" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "SO/2021/45678" +msgstr "SO/2021/45678" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__has_position_column +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__has_position_column +msgid "Show Position Column in Reports" +msgstr "Mostra colonna posizione nei resoconti" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Source" msgstr "Fonte" @@ -248,6 +346,12 @@ msgstr "Strada" msgid "Street2" msgstr "Strada 2" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Tax ID" +msgstr "Partita IVA" + #. module: l10n_din5008 #: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__account_fiscal_country_id msgid "The country to use the tax reports from for this company" @@ -263,18 +367,19 @@ msgstr "" "IVA. Deve essere unico per tutti i partner di una stessa nazione" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "VAT" +msgstr "Partita IVA" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Vendor Bill" msgstr "Fattura fornitore" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Vendor Credit Note" -msgstr "Nota di credito fornitore" +msgstr "Nota di credito del fornitore" #. module: l10n_din5008 #: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__zip diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/l10n_din5008.pot b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/l10n_din5008.pot index 735b9e6..3e6abe9 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/l10n_din5008.pot +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/i18n/l10n_din5008.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 19.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:49+0000\n" -"PO-Revision-Date: 2024-02-13 21:49+0000\n" +"POT-Creation-Date: 2026-01-09 19:02+0000\n" +"PO-Revision-Date: 2026-01-09 19:02+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -25,6 +25,11 @@ msgid "" " color:" msgstr "" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "/12345" +msgstr "" + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.din5008_css msgid "" @@ -46,7 +51,7 @@ msgid "" " &.invoice_note {\n" " td {\n" " .address {\n" -" > span {\n" +" .colored_address {\n" " color:" msgstr "" @@ -62,13 +67,18 @@ msgid "" msgstr "" #. module: l10n_din5008 -#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 -msgid "|" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Beneficiary:" msgstr "" #. module: l10n_din5008 -#: model:ir.model,name:l10n_din5008.model_account_analytic_line -msgid "Analytic Line" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Shipping Address:" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +msgid "|" msgstr "" #. module: l10n_din5008 @@ -82,9 +92,7 @@ msgid "Banks" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Cancelled Invoice" msgstr "" @@ -93,6 +101,16 @@ msgstr "" msgid "City" msgstr "" +#. module: l10n_din5008 +#: model:ir.model,name:l10n_din5008.model_res_company +msgid "Companies" +msgstr "" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__company_details +msgid "Company Details" +msgstr "" + #. module: l10n_din5008 #: model:ir.model,name:l10n_din5008.model_base_document_layout msgid "Company Document Layout" @@ -104,25 +122,45 @@ msgid "Company ID" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model:ir.model,name:l10n_din5008.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Credit Note" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Delivery Date" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Delivery Date:" +msgstr "" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__display_name +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__display_name +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Draft Invoice" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format -msgid "Due Date" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Due Date:" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.res_config_settings_view_form +msgid "Enable to show a 'Position' column on invoices and sales reports." msgstr "" #. module: l10n_din5008 @@ -130,83 +168,94 @@ msgstr "" msgid "Fiscal Country" msgstr "" +#. module: l10n_din5008 +#: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__report_footer +msgid "Footer text displayed at the bottom of all reports." +msgstr "" + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "HRB Nr:" msgstr "" +#. module: l10n_din5008 +#: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__company_details +msgid "Header text displayed at the top of all reports." +msgstr "" + #. module: l10n_din5008 #: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 msgid "IBAN:" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__id +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__id +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__id +msgid "ID" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "INV/" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.res_config_settings_view_form +msgid "" +"If this checkbox is ticked, a 'Position' column will be displayed on " +"invoices and sales reports." +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Incoterm" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice Date" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Invoice Date Due" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Invoice Date:" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Invoice No." msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Invoicing Address:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Invoice No.:" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Invoicing and Shipping Address:" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_delivery_date +msgid "L10N Din5008 Delivery Date" msgstr "" #. module: l10n_din5008 -#: model:ir.model,name:l10n_din5008.model_account_move -msgid "Journal Entry" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_due_date +msgid "L10N Din5008 Due Date" msgstr "" #. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_addresses -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_addresses -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "" - -#. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_analytic_line__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_document_title -#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "" - -#. module: l10n_din5008 -#: model:ir.model.fields,field_description:l10n_din5008.field_account_analytic_line__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_bank_statement_line__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_move__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_account_payment__l10n_din5008_template_data -#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__l10n_din5008_invoice_date +msgid "L10N Din5008 Invoice Date" msgstr "" #. module: l10n_din5008 @@ -215,24 +264,38 @@ msgid "Page: of " msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#: code:addons/l10n_din5008/models/base_document_layout.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Position" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Reference" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format -msgid "Shipping Address:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "Reference:" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model:ir.model.fields,field_description:l10n_din5008.field_base_document_layout__report_footer +msgid "Report Footer" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_wizard_preview +msgid "SO/2021/45678" +msgstr "" + +#. module: l10n_din5008 +#: model:ir.model.fields,field_description:l10n_din5008.field_res_company__has_position_column +#: model:ir.model.fields,field_description:l10n_din5008.field_res_config_settings__has_position_column +msgid "Show Position Column in Reports" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Source" msgstr "" @@ -246,6 +309,12 @@ msgstr "" msgid "Street2" msgstr "" +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.external_layout_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "Tax ID" +msgstr "" + #. module: l10n_din5008 #: model:ir.model.fields,help:l10n_din5008.field_base_document_layout__account_fiscal_country_id msgid "The country to use the tax reports from for this company" @@ -259,16 +328,17 @@ msgid "" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document +msgid "VAT" +msgstr "" + +#. module: l10n_din5008 +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Vendor Bill" msgstr "" #. module: l10n_din5008 -#. odoo-python -#: code:addons/l10n_din5008/models/account_move.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008.report_invoice_document msgid "Vendor Credit Note" msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/__init__.py b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/__init__.py index 5205f97..5bf6b54 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/__init__.py @@ -2,5 +2,5 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from . import base_document_layout -from . import account_move -from . import hr_timesheet +from . import res_company +from . import res_config_settings diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/account_move.py b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/account_move.py deleted file mode 100644 index a83974a..0000000 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/account_move.py +++ /dev/null @@ -1,58 +0,0 @@ -from odoo import models, fields, _ -from odoo.tools import format_date - - -class AccountMove(models.Model): - _inherit = 'account.move' - - l10n_din5008_template_data = fields.Binary(compute='_compute_l10n_din5008_template_data') - l10n_din5008_document_title = fields.Char(compute='_compute_l10n_din5008_document_title') - l10n_din5008_addresses = fields.Binary(compute='_compute_l10n_din5008_addresses', exportable=False) - - def _compute_l10n_din5008_template_data(self): - for record in self: - record.l10n_din5008_template_data = data = [] - if record.name: - data.append((_("Invoice No."), record.name)) - if record.invoice_date: - data.append((_("Invoice Date"), format_date(self.env, record.invoice_date))) - if record.invoice_date_due: - data.append((_("Due Date"), format_date(self.env, record.invoice_date_due))) - if record.invoice_origin: - data.append((_("Source"), record.invoice_origin)) - if record.ref: - data.append((_("Reference"), record.ref)) - - def _compute_l10n_din5008_document_title(self): - for record in self: - record.l10n_din5008_document_title = '' - if record.move_type == 'out_invoice': - if record.state == 'posted': - record.l10n_din5008_document_title = _('Invoice') - elif record.state == 'draft': - record.l10n_din5008_document_title = _('Draft Invoice') - elif record.state == 'cancel': - record.l10n_din5008_document_title = _('Cancelled Invoice') - elif record.move_type == 'out_refund': - record.l10n_din5008_document_title = _('Credit Note') - elif record.move_type == 'in_refund': - record.l10n_din5008_document_title = _('Vendor Credit Note') - elif record.move_type == 'in_invoice': - record.l10n_din5008_document_title = _('Vendor Bill') - - def _compute_l10n_din5008_addresses(self): - for record in self: - record.l10n_din5008_addresses = data = [] - if record.partner_shipping_id == record.partner_id: - data.append((_("Invoicing and Shipping Address:"), record.partner_shipping_id)) - elif record.move_type in ("in_invoice", "in_refund") or not record.partner_shipping_id: - data.append((_("Invoicing and Shipping Address:"), record.partner_id)) - else: - data.append((_("Shipping Address:"), record.partner_shipping_id)) - data.append((_("Invoicing Address:"), record.partner_id)) - - def check_field_access_rights(self, operation, field_names): - field_names = super().check_field_access_rights(operation, field_names) - return [field_name for field_name in field_names if field_name not in { - 'l10n_din5008_addresses', - }] diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/base_document_layout.py b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/base_document_layout.py index d825dfa..f68ae1f 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/base_document_layout.py +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/base_document_layout.py @@ -1,10 +1,34 @@ -from odoo import models, fields, _ -from odoo.tools import format_date +from markupsafe import Markup +import re +from dateutil.relativedelta import relativedelta + +from odoo import api, models, fields class BaseDocumentLayout(models.TransientModel): _inherit = 'base.document.layout' + @api.model + def _default_report_footer(self): + # OVERRIDE web/models/base_document_layout + if self.env.company.external_report_layout_id == self.env.ref('l10n_din5008.external_layout_din5008'): + company = self.env.company + # Company VAT should not be present in this footer, as it is displayed elsewhere in the DIN5008 layout + footer_fields = [field for field in [company.phone, company.email, company.website] if isinstance(field, str) and len(field) > 0] + return Markup('
').join(footer_fields) + return super()._default_report_footer() + + @api.model + def _default_company_details(self): + # OVERRIDE web/models/base_document_layout + default_company_details = super()._default_company_details() + if self.env.company.external_report_layout_id == self.env.ref('l10n_din5008.external_layout_din5008'): + # In order to respect the strict formatting of DIN5008, we need to remove empty lines from the address + return re.sub(r'(( )*
( )*\n)+', r'
\n', default_company_details) + return default_company_details + + report_footer = fields.Html(default=_default_report_footer) + company_details = fields.Html(default=_default_company_details) street = fields.Char(related='company_id.street', readonly=True) street2 = fields.Char(related='company_id.street2', readonly=True) zip = fields.Char(related='company_id.zip', readonly=True) @@ -12,16 +36,6 @@ class BaseDocumentLayout(models.TransientModel): company_registry = fields.Char(related='company_id.company_registry', readonly=True) bank_ids = fields.One2many(related='company_id.partner_id.bank_ids', readonly=True) account_fiscal_country_id = fields.Many2one(related='company_id.account_fiscal_country_id', readonly=True) - l10n_din5008_template_data = fields.Binary(compute='_compute_l10n_din5008_template_data') - l10n_din5008_document_title = fields.Char(compute='_compute_l10n_din5008_document_title') - - def _compute_l10n_din5008_template_data(self): - self.l10n_din5008_template_data = [ - (_("Invoice No."), 'INV/2021/12345'), - (_("Invoice Date"), format_date(self.env, fields.Date.today())), - (_("Due Date"), format_date(self.env, fields.Date.add(fields.Date.today(), days=7))), - (_("Reference"), 'SO/2021/45678'), - ] - - def _compute_l10n_din5008_document_title(self): - self.l10n_din5008_document_title = _('Invoice') + l10n_din5008_invoice_date = fields.Date(default=fields.Date.today, store=False) + l10n_din5008_due_date = fields.Date(default=fields.Date.today() + relativedelta(day=7), store=False) + l10n_din5008_delivery_date = fields.Date(default=fields.Date.today() + relativedelta(day=7), store=False) diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/hr_timesheet.py b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/hr_timesheet.py deleted file mode 100644 index afce2f4..0000000 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/hr_timesheet.py +++ /dev/null @@ -1,15 +0,0 @@ -from odoo import models, fields - -class AccountAnalyticLine(models.Model): - _inherit = 'account.analytic.line' - - l10n_din5008_template_data = fields.Binary(compute='_compute_l10n_din5008_template_data') - l10n_din5008_document_title = fields.Char(compute='_compute_l10n_din5008_document_title') - - def _compute_l10n_din5008_template_data(self): - for record in self: - record.l10n_din5008_template_data = [] - - def _compute_l10n_din5008_document_title(self): - for record in self: - record.l10n_din5008_document_title = '' diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/res_company.py b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/res_company.py new file mode 100644 index 0000000..d065b89 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/res_company.py @@ -0,0 +1,7 @@ +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = 'res.company' + + has_position_column = fields.Boolean(string="Show Position Column in Reports") diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/res_config_settings.py b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/res_config_settings.py new file mode 100644 index 0000000..fbe18cf --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/models/res_config_settings.py @@ -0,0 +1,10 @@ +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + has_position_column = fields.Boolean( + related='company_id.has_position_column', + readonly=False, + ) diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_account_move_layout.xml b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_account_move_layout.xml new file mode 100644 index 0000000..e84fee3 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_account_move_layout.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_base_document_layout.xml b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_base_document_layout.xml new file mode 100644 index 0000000..9912f46 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_base_document_layout.xml @@ -0,0 +1,33 @@ + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_report.xml b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_report.xml index d34206e..557de55 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_report.xml +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/report/din5008_report.xml @@ -34,91 +34,80 @@ + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/static/src/scss/report_din5008.scss b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/static/src/scss/report_din5008.scss index 495d9c3..ad39912 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/static/src/scss/report_din5008.scss +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/static/src/scss/report_din5008.scss @@ -8,11 +8,11 @@ &.header { table { width: 100%; - img, h3, div.h3, td, tr { + img, div.h3, td, tr { padding: 0; margin: 0; } - h3, div.h3 { + div.h3 { color: $o-default-report-primary-color; position: relative; top: -10mm; @@ -26,12 +26,6 @@ } &.invoice_note { tr { - td { - vertical-align: bottom; - } - &:nth-child(2) td { - vertical-align: top; - } .address, .information_block, .shipping_address, .invoice_address { margin: 0; } @@ -44,9 +38,10 @@ .company_invoice_line { margin-top: 1mm; } - > span { + .colored_address { color: $o-default-report-secondary-color; } + font-size: 0.8em; } .information_block, .invoice_address { width: 75mm; @@ -57,7 +52,7 @@ } } } - h2, [name=payment_communication], [name=payment_term], [name=comment], [name=note], [name=incoterm] { + h2 { margin-left: 5mm; margin-right: 10mm; margin-top: 8.46mm; @@ -79,16 +74,12 @@ } } - tr { - td { - vertical-align: bottom; - } - } } } &.footer { padding-left: 5mm; padding-right: 10mm; + font-size: 0.7em; .page_number { margin-top: 4.23mm; width: 100%; @@ -99,10 +90,17 @@ width: 100%; table { border-top: solid 1px; + table-layout: fixed; width: 100%; td { vertical-align: baseline; padding-right: 3mm; + li { + font-size: 0.7em; + p { + line-height: 1.3em; + } + } &:last-child { padding-right: initial; } @@ -110,83 +108,35 @@ } } } + table.o_main_table{ + tr { + &.o_line_section td { + background-color: rgba($gray-300, .5); + } + + th { + font-weight: bolder; + } + } + } + div#total { + tr { + &.o_subtotal, + &.o_total { + td { + border-top: 1px solid black !important; + } + &.o_border_bottom { + td { + border-bottom: 1px solid black !important; + } + } + } + } + } } .din_page_pdf { width: 180mm; margin-left: -1rem; } - - -// TODO WAN remove in master -.din { - &.header { - min-height: 45mm; - max-height: 45mm; - overflow: hidden; - img { - max-height: 45mm; - } - } - .company_address { - position: relative; - left: 45mm; - top: 5mm; - width: 75mm; - min-width: 75mm; - display: inline-block; - } - .company_invoice_address { - position: relative; - left: 25mm; - top: 17.7mm; - width: 85mm; - min-width: 85mm; - margin-bottom: 1mm; - font-size: 7pt; - overflow-y: hidden; - word-break: break-word; - } - .company_invoice_line { - margin-top: 1mm; - } - .invoice_address { - position: relative; - left: 25mm; - top: 14.7mm; - width: 85mm; - height: 27.3mm; - line-height: 1.15; - overflow-y: hidden; - word-break: break-word; - float: left; - } - .header_address { - min-height: 45mm; - } - .page_number { - margin-top: 4.23mm; - margin-bottom: 4.23mm; - } - &.article { - .page { - position: relative; - top: 8.46mm; - left: 25mm; - width: 190mm; - } - .address { - margin-top: 5mm; - } - } - &.o_background_footer { - position: relative; - left: 25mm; - width: 190mm; - } - .o_account_reports_header { - .fallback_header { - display: none; - } - } -} diff --git a/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/views/res_config_settings_views.xml b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/views/res_config_settings_views.xml new file mode 100644 index 0000000..2aa7abc --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008/l10n_din5008/views/res_config_settings_views.xml @@ -0,0 +1,20 @@ + + + + + res.config.settings.view.form.inherit.base.vat + res.config.settings + + + + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008/pyproject.toml b/odoo-bringout-oca-ocb-l10n_din5008/pyproject.toml index 0ef456e..fc72c8a 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_din5008/pyproject.toml @@ -1,12 +1,14 @@ [project] name = "odoo-bringout-oca-ocb-l10n_din5008" version = "16.0.0" -description = "DIN 5008 - Odoo addon" +description = "DIN 5008 - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-account>=16.0.0", + "odoo-bringout-oca-ocb-account>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -16,7 +18,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/README.md b/odoo-bringout-oca-ocb-l10n_din5008_repair/README.md index 500541c..897ecc8 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_repair/README.md +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/README.md @@ -10,36 +10,15 @@ pip install odoo-bringout-oca-ocb-l10n_din5008_repair ## Dependencies -This addon depends on: - l10n_din5008 - repair -## Manifest Information - -- **Name**: DIN 5008 - Repair -- **Version**: N/A -- **Category**: Accounting/Localizations -- **License**: LGPL-3 -- **Installable**: False - ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_din5008_repair`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_din5008_repair ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/__manifest__.py b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/__manifest__.py index d3bb31c..ddf2684 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/__manifest__.py @@ -8,6 +8,11 @@ 'l10n_din5008', 'repair', ], + 'data': [ + 'report/din5008_repair_templates.xml', + 'report/din5008_repair_order_layout.xml', + ], 'auto_install': True, + 'author': 'Odoo S.A.', 'license': 'LGPL-3', } diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/de.po b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/de.po index e4b358c..5d50126 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/de.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/de.po @@ -1,71 +1,66 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_din5008_repair +# * l10n_din5008_repair # +# Weblate , 2025. msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.3alpha1+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:51+0000\n" -"PO-Revision-Date: 2024-02-14 08:48+0100\n" -"Last-Translator: \n" -"Language-Team: \n" +"POT-Creation-Date: 2025-12-30 19:06+0000\n" +"PO-Revision-Date: 2025-11-17 03:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.12.2\n" #. module: l10n_din5008_repair -#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "L10N Din5008 Dokumenttitel" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__display_name +msgid "Display Name" +msgstr "Name anzeigen" #. module: l10n_din5008_repair -#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "L10N Din5008 Vorlagendaten" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__id +msgid "ID" +msgstr "ID" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Lot/Serial Number" -msgstr "Los-/Seriennummer" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_printing_date +msgid "L10N Din5008 Printing Date" +msgstr "L10N Din5008 Druckdatum" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Printing Date" -msgstr "Druckdatum" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Lot/Serial Number:" +msgstr "Los-/Seriennummer:" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Product to Repair" -msgstr "Zu reparierendes Produkt" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Printing Date:" +msgstr "Druckdatum:" + +#. module: l10n_din5008_repair +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Product to Repair:" +msgstr "Zu reparierendes Produkt:" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 #: model:ir.model,name:l10n_din5008_repair.model_repair_order -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder msgid "Repair Order" msgstr "Reparaturauftrag" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder msgid "Repair Quotation" msgstr "Kostenvoranschlag" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Warranty" -msgstr "Garantie" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.external_layout_din5008_repairorder +msgid "Tax ID" +msgstr "USt-IdNr." diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/fr.po b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/fr.po index 4006f61..e4a6565 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/fr.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/fr.po @@ -1,71 +1,66 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_din5008_repair +# * l10n_din5008_repair # +# Weblate , 2025. msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0+e\n" +"Project-Id-Version: Odoo Server 17.3alpha1+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:51+0000\n" -"PO-Revision-Date: 2024-02-14 09:19+0100\n" -"Last-Translator: \n" -"Language-Team: \n" +"POT-Creation-Date: 2025-12-30 19:06+0000\n" +"PO-Revision-Date: 2025-11-17 03:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.12.2\n" #. module: l10n_din5008_repair -#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "Titre du document L10N Din5008" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__display_name +msgid "Display Name" +msgstr "Nom affiché" #. module: l10n_din5008_repair -#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "Données de modèle L10N Din5008" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__id +msgid "ID" +msgstr "ID" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Lot/Serial Number" -msgstr "Numéro de lot/série" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_printing_date +msgid "L10N Din5008 Printing Date" +msgstr "Date d'impression L10N Din5008" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Printing Date" -msgstr "Date d'impression" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Lot/Serial Number:" +msgstr "Numéro de lot/série :" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Product to Repair" -msgstr "Article à réparer" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Printing Date:" +msgstr "Date d'impression :" + +#. module: l10n_din5008_repair +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Product to Repair:" +msgstr "Produit à réparer :" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 #: model:ir.model,name:l10n_din5008_repair.model_repair_order -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder msgid "Repair Order" msgstr "Ordre de réparation" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder msgid "Repair Quotation" msgstr "Devis de réparation" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Warranty" -msgstr "Garantie" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.external_layout_din5008_repairorder +msgid "Tax ID" +msgstr "N° TVA" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/it.po b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/it.po index 0950e19..5b0279a 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/it.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/it.po @@ -1,71 +1,66 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_din5008_repair +# * l10n_din5008_repair # +# Weblate , 2025. msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0+e\n" +"Project-Id-Version: Odoo Server 17.3alpha1+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:51+0000\n" -"PO-Revision-Date: 2024-02-14 09:20+0100\n" -"Last-Translator: \n" -"Language-Team: \n" +"POT-Creation-Date: 2025-12-30 19:06+0000\n" +"PO-Revision-Date: 2025-11-17 03:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.12.2\n" #. module: l10n_din5008_repair -#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "Titolo del documento L10N Din5008" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__display_name +msgid "Display Name" +msgstr "Nome visualizzato" #. module: l10n_din5008_repair -#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "Dati modello L10N Din5008" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__id +msgid "ID" +msgstr "ID" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Lot/Serial Number" -msgstr "Numero di lotto/di serie" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_printing_date +msgid "L10N Din5008 Printing Date" +msgstr "L10N Din5008 Data di stampa" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Printing Date" -msgstr "Data di stampa" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Lot/Serial Number:" +msgstr "Numero di lotto/serie:" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Product to Repair" -msgstr "Prodotto da riparare" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Printing Date:" +msgstr "Data di stampa:" + +#. module: l10n_din5008_repair +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Product to Repair:" +msgstr "Prodotto da riparare:" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 #: model:ir.model,name:l10n_din5008_repair.model_repair_order -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder msgid "Repair Order" msgstr "Ordine di riparazione" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder msgid "Repair Quotation" -msgstr "Preventivo riparazione" +msgstr "Preventivo di riparazione" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Warranty" -msgstr "Garanzia" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.external_layout_din5008_repairorder +msgid "Tax ID" +msgstr "Partita IVA" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/l10n_din5008_repair.pot b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/l10n_din5008_repair.pot index f5a7768..26c127c 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/l10n_din5008_repair.pot +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/i18n/l10n_din5008_repair.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 19.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:51+0000\n" -"PO-Revision-Date: 2024-02-13 21:51+0000\n" +"POT-Creation-Date: 2025-12-30 19:06+0000\n" +"PO-Revision-Date: 2025-12-30 19:06+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,54 +16,47 @@ msgstr "" "Plural-Forms: \n" #. module: l10n_din5008_repair -#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__display_name +msgid "Display Name" msgstr "" #. module: l10n_din5008_repair -#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__id +msgid "ID" msgstr "" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Lot/Serial Number" +#: model:ir.model.fields,field_description:l10n_din5008_repair.field_repair_order__l10n_din5008_printing_date +msgid "L10N Din5008 Printing Date" msgstr "" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Printing Date" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Lot/Serial Number:" msgstr "" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Product to Repair" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Printing Date:" +msgstr "" + +#. module: l10n_din5008_repair +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder +msgid "Product to Repair:" msgstr "" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 #: model:ir.model,name:l10n_din5008_repair.model_repair_order -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder msgid "Repair Order" msgstr "" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.report_repairorder msgid "Repair Quotation" msgstr "" #. module: l10n_din5008_repair -#. odoo-python -#: code:addons/l10n_din5008_repair/models/repair.py:0 -#, python-format -msgid "Warranty" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_repair.external_layout_din5008_repairorder +msgid "Tax ID" msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/models/repair.py b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/models/repair.py index 7b13f92..52cdd44 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/models/repair.py +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/models/repair.py @@ -1,27 +1,7 @@ -from odoo import models, fields, _ -from odoo.tools import format_date +from odoo import models, fields class RepairOrder(models.Model): _inherit = 'repair.order' - l10n_din5008_template_data = fields.Binary(compute='_compute_l10n_din5008_template_data') - l10n_din5008_document_title = fields.Char(compute='_compute_l10n_din5008_document_title') - - def _compute_l10n_din5008_template_data(self): - for record in self: - record.l10n_din5008_template_data = data = [] - if record.product_id: - data.append((_("Product to Repair"), record.product_id.name)) - if record.lot_id: - data.append((_("Lot/Serial Number"), record.lot_id.name)) - if record.guarantee_limit: - data.append((_("Warranty"), format_date(self.env, record.guarantee_limit))) - data.append((_("Printing Date"), format_date(self.env, fields.Date.today()))) - - def _compute_l10n_din5008_document_title(self): - for record in self: - if record.state == 'draft': - record.l10n_din5008_document_title = _("Repair Quotation") - else: - record.l10n_din5008_document_title = _("Repair Order") + l10n_din5008_printing_date = fields.Date(default=fields.Date.today, store=False) diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/report/din5008_repair_order_layout.xml b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/report/din5008_repair_order_layout.xml new file mode 100644 index 0000000..4effdf2 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/report/din5008_repair_order_layout.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/report/din5008_repair_templates.xml b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/report/din5008_repair_templates.xml new file mode 100644 index 0000000..50a5d11 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/l10n_din5008_repair/report/din5008_repair_templates.xml @@ -0,0 +1,32 @@ + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008_repair/pyproject.toml b/odoo-bringout-oca-ocb-l10n_din5008_repair/pyproject.toml index 6723edd..02c472b 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_repair/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_din5008_repair/pyproject.toml @@ -1,13 +1,15 @@ [project] name = "odoo-bringout-oca-ocb-l10n_din5008_repair" version = "16.0.0" -description = "DIN 5008 - Repair - Odoo addon" +description = "DIN 5008 - Repair - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-l10n_din5008>=16.0.0", - "odoo-bringout-oca-ocb-repair>=16.0.0", + "odoo-bringout-oca-ocb-l10n_din5008>=19.0.0", + "odoo-bringout-oca-ocb-repair>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -17,7 +19,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/README.md b/odoo-bringout-oca-ocb-l10n_din5008_sale/README.md index 70afba7..8edc538 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/README.md +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/README.md @@ -10,36 +10,15 @@ pip install odoo-bringout-oca-ocb-l10n_din5008_sale ## Dependencies -This addon depends on: - l10n_din5008 - sale -## Manifest Information - -- **Name**: DIN 5008 - Sale -- **Version**: N/A -- **Category**: Accounting/Localizations -- **License**: LGPL-3 -- **Installable**: False - ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_din5008_sale`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_din5008_sale ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/__init__.py b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/__init__.py index 0650744..e69de29 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/__init__.py @@ -1 +0,0 @@ -from . import models diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/__manifest__.py b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/__manifest__.py index 0ed6a35..0f0c4c1 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/__manifest__.py @@ -8,6 +8,11 @@ 'l10n_din5008', 'sale', ], + 'data': [ + 'report/din5008_sale_templates.xml', + 'report/din5008_sale_order_layout.xml', + ], 'auto_install': True, + 'author': 'Odoo S.A.', 'license': 'LGPL-3', } diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/de.po b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/de.po index a1406cc..111049a 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/de.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/de.po @@ -1,132 +1,111 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_din5008_sale +# * l10n_din5008_sale # +# "Larissa Manderfeld (lman)" , 2026. msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 18.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:51+0000\n" -"PO-Revision-Date: 2024-02-14 08:48+0100\n" -"Last-Translator: \n" -"Language-Team: \n" +"POT-Creation-Date: 2026-01-30 19:07+0000\n" +"PO-Revision-Date: 2026-02-07 09:50+0000\n" +"Last-Translator: \"Larissa Manderfeld (lman)\" \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.14.3\n" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Customer Reference" -msgstr "Kundenreferenz" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Beneficiary:" +msgstr "Leistungsempfänger:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Expiration" -msgstr "Gültigkeit" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Invoicing Address:" +msgstr "Rechnungsadresse:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Incoterm" -msgstr "Incoterm" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Invoicing and Shipping Address:" +msgstr "Rechnungs- und Lieferadresse:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Invoicing Address:" -msgstr "Rechnungsadresse:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Shipping Address:" +msgstr "Lieferadresse:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Invoicing and Shipping Address:" -msgstr "Rechnungs- und Lieferadresse:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Customer Reference:" +msgstr "Kundenreferenz:" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "L10N Din5008 Adressen" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Delivery Date:" +msgstr "Lieferdatum:" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "L10N Din5008 Dokumenttitel" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Expiration:" +msgstr "Gültigkeit:" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "L10N Din5008 Vorlagendaten" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Incoterm:" +msgstr "Incoterm:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Order Date" -msgstr "Auftragsdatum" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Order Date:" +msgstr "Auftragsdatum:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Order No." -msgstr "Auftragsnr." +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Order No.:" +msgstr "Auftragsnr.:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Position" +msgstr "Position" + +#. module: l10n_din5008_sale +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Pro Forma Invoice" msgstr "Pro-forma-Rechnung" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Quotation" msgstr "Angebot" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Quotation Date" -msgstr "Angebotsdatum" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Quotation Date:" +msgstr "Angebotsdatum:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Quotation No." -msgstr "Angebotsnr." +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Quotation No.:" +msgstr "Angebotsnr.:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#: model:ir.model,name:l10n_din5008_sale.model_sale_order -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Sales Order" msgstr "Auftragsbestätigung" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Salesperson" -msgstr "Vertriebsmitarbeiter" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Salesperson:" +msgstr "Vertriebsmitarbeiter:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Shipping Address:" -msgstr "Lieferadresse:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.external_layout_din5008_saleorder +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Tax ID" +msgstr "USt-IdNr." diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/fr.po b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/fr.po index 9291514..9d5c387 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/fr.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/fr.po @@ -4,129 +4,106 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0+e\n" +"Project-Id-Version: Odoo Server 18.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:51+0000\n" -"PO-Revision-Date: 2024-02-14 09:22+0100\n" +"POT-Creation-Date: 2026-01-30 19:07+0000\n" +"PO-Revision-Date: 2025-04-28 16:12+0000\n" "Last-Translator: \n" "Language-Team: \n" -"Language: fr\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Customer Reference" -msgstr "Référence client" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Beneficiary:" +msgstr "Bénéficiaire :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Expiration" -msgstr "Expiration" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Invoicing Address:" +msgstr "Adresse de facturation :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Incoterm" -msgstr "Incoterms" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Invoicing and Shipping Address:" +msgstr "" +"Adresse de facturation et d'expédition :." #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Invoicing Address:" -msgstr "Adresse de facturation :" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Shipping Address:" +msgstr "Adresse d'expédition :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Invoicing and Shipping Address:" -msgstr "Adresse de facturation et d'expédition :" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Customer Reference:" +msgstr "Référence client :" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "Adresses L10N Din5008" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Delivery Date:" +msgstr "" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "Titre du document L10N Din5008" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Expiration:" +msgstr "Expiration :" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "Données de modèle L10N Din5008" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Incoterm:" +msgstr "Incoterm :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Order Date" -msgstr "Date de commande" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Order Date:" +msgstr "Date de commande :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Order No." -msgstr "N° de commande" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Order No.:" +msgstr "N° de commande :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Position" +msgstr "Position" + +#. module: l10n_din5008_sale +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Pro Forma Invoice" msgstr "Facture pro forma" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Quotation" msgstr "Devis" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Quotation Date" -msgstr "Date du devis" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Quotation Date:" +msgstr "Date du devis :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Quotation No." -msgstr "N° de devis" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Quotation No.:" +msgstr "N° de devis :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#: model:ir.model,name:l10n_din5008_sale.model_sale_order -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Sales Order" msgstr "Bon de commande" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Salesperson" -msgstr "Vendeur" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Salesperson:" +msgstr "Vendeur :" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Shipping Address:" -msgstr "Adresse de livraison :" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.external_layout_din5008_saleorder +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Tax ID" +msgstr "N° TVA" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/it.po b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/it.po index b8ead4e..f89b332 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/it.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/it.po @@ -1,132 +1,111 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_din5008_sale +# * l10n_din5008_sale # +# "Marianna Ciofani (cima)" , 2026. msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0+e\n" +"Project-Id-Version: Odoo Server 18.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:51+0000\n" -"PO-Revision-Date: 2024-02-14 09:23+0100\n" -"Last-Translator: \n" -"Language-Team: \n" +"POT-Creation-Date: 2026-01-30 19:07+0000\n" +"PO-Revision-Date: 2026-02-07 09:50+0000\n" +"Last-Translator: \"Marianna Ciofani (cima)\" \n" +"Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.14.3\n" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Customer Reference" -msgstr "Riferimento cliente" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Beneficiary:" +msgstr "Beneficiario:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Expiration" -msgstr "Scadenza" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Invoicing Address:" +msgstr "Indirizzo di fatturazione:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Incoterm" -msgstr "Incoterms" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Invoicing and Shipping Address:" +msgstr "Indirizzo di fatturazione e spedizione:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Invoicing Address:" -msgstr "Indirizzo di fatturazione:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Shipping Address:" +msgstr "Indirizzo di spedizione:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Invoicing and Shipping Address:" -msgstr "Indirizzo di fatturazione e spedizione:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Customer Reference:" +msgstr "Riferimento cliente:" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "Indirizzi L10N Din5008" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Delivery Date:" +msgstr "Data di consegna:" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" -msgstr "Titolo del documento L10N Din5008" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Expiration:" +msgstr "Scadenza:" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" -msgstr "Dati modello L10N Din5008" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Incoterm:" +msgstr "Incoterm:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Order Date" -msgstr "Data Ordine" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Order Date:" +msgstr "Data ordine:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Order No." -msgstr "Ordine N." +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Order No.:" +msgstr "Numero ordine:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Position" +msgstr "Posizione" + +#. module: l10n_din5008_sale +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Pro Forma Invoice" -msgstr "Fattura pro forma" +msgstr "Fattura proforma" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Quotation" msgstr "Preventivo" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Quotation Date" -msgstr "Data Preventivo" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Quotation Date:" +msgstr "Data preventivo:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Quotation No." -msgstr "Preventivo N." +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Quotation No.:" +msgstr "Preventivo n.:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#: model:ir.model,name:l10n_din5008_sale.model_sale_order -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Sales Order" msgstr "Ordine di vendita" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Salesperson" -msgstr "Ordine di vendita" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Salesperson:" +msgstr "Addetto alle vendite:" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Shipping Address:" -msgstr "Indirizzo di spedizione:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.external_layout_din5008_saleorder +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Tax ID" +msgstr "Partita IVA" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/l10n_din5008_sale.pot b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/l10n_din5008_sale.pot index c0b9016..6bcca85 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/l10n_din5008_sale.pot +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/i18n/l10n_din5008_sale.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 19.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:51+0000\n" -"PO-Revision-Date: 2024-02-13 21:51+0000\n" +"POT-Creation-Date: 2026-01-30 19:07+0000\n" +"PO-Revision-Date: 2026-01-30 19:07+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,115 +16,92 @@ msgstr "" "Plural-Forms: \n" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Customer Reference" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Beneficiary:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Expiration" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Invoicing Address:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Incoterm" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Invoicing and Shipping Address:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Invoicing Address:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Shipping Address:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Invoicing and Shipping Address:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Customer Reference:" msgstr "" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Delivery Date:" msgstr "" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_document_title -msgid "L10N Din5008 Document Title" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Expiration:" msgstr "" #. module: l10n_din5008_sale -#: model:ir.model.fields,field_description:l10n_din5008_sale.field_sale_order__l10n_din5008_template_data -msgid "L10N Din5008 Template Data" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Incoterm:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Order Date" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Order Date:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Order No." +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Order No.:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Position" +msgstr "" + +#. module: l10n_din5008_sale +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Pro Forma Invoice" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Quotation" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Quotation Date" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Quotation Date:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Quotation No." +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Quotation No.:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#: model:ir.model,name:l10n_din5008_sale.model_sale_order -#, python-format +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document msgid "Sales Order" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Salesperson" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Salesperson:" msgstr "" #. module: l10n_din5008_sale -#. odoo-python -#: code:addons/l10n_din5008_sale/models/sale.py:0 -#, python-format -msgid "Shipping Address:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.external_layout_din5008_saleorder +#: model_terms:ir.ui.view,arch_db:l10n_din5008_sale.report_saleorder_document +msgid "Tax ID" msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/models/__init__.py b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/models/__init__.py deleted file mode 100644 index 8a0dc04..0000000 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/models/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import sale diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/models/sale.py b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/models/sale.py deleted file mode 100644 index 2eae72f..0000000 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/models/sale.py +++ /dev/null @@ -1,56 +0,0 @@ -from odoo import models, fields, _ -from odoo.tools import format_date - - -class SaleOrder(models.Model): - _inherit = 'sale.order' - - l10n_din5008_template_data = fields.Binary(compute='_compute_l10n_din5008_template_data') - l10n_din5008_document_title = fields.Char(compute='_compute_l10n_din5008_document_title') - l10n_din5008_addresses = fields.Binary(compute='_compute_l10n_din5008_addresses', exportable=False) - - def _compute_l10n_din5008_template_data(self): - for record in self: - record.l10n_din5008_template_data = data = [] - if record.state in ('draft', 'sent'): - if record.name: - data.append((_("Quotation No."), record.name)) - if record.date_order: - data.append((_("Quotation Date"), format_date(self.env, record.date_order))) - if record.validity_date: - data.append((_("Expiration"), format_date(self.env, record.validity_date))) - else: - if record.name: - data.append((_("Order No."), record.name)) - if record.date_order: - data.append((_("Order Date"), format_date(self.env, record.date_order))) - if record.client_order_ref: - data.append((_('Customer Reference'), record.client_order_ref)) - if record.user_id: - data.append((_("Salesperson"), record.user_id.name)) - if 'incoterm' in record._fields and record.incoterm: - data.append((_("Incoterm"), record.incoterm.code)) - - def _compute_l10n_din5008_document_title(self): - for record in self: - if self._context.get('proforma'): - record.l10n_din5008_document_title = _('Pro Forma Invoice') - elif record.state in ('draft', 'sent'): - record.l10n_din5008_document_title = _('Quotation') - else: - record.l10n_din5008_document_title = _('Sales Order') - - def _compute_l10n_din5008_addresses(self): - for record in self: - record.l10n_din5008_addresses = data = [] - if record.partner_shipping_id == record.partner_invoice_id: - data.append((_("Invoicing and Shipping Address:"), record.partner_shipping_id)) - else: - data.append((_("Shipping Address:"), record.partner_shipping_id)) - data.append((_("Invoicing Address:"), record.partner_invoice_id)) - - def check_field_access_rights(self, operation, field_names): - field_names = super().check_field_access_rights(operation, field_names) - return [field_name for field_name in field_names if field_name not in { - 'l10n_din5008_addresses', - }] diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/report/din5008_sale_order_layout.xml b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/report/din5008_sale_order_layout.xml new file mode 100644 index 0000000..3134f60 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/report/din5008_sale_order_layout.xml @@ -0,0 +1,29 @@ + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/report/din5008_sale_templates.xml b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/report/din5008_sale_templates.xml new file mode 100644 index 0000000..10375df --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/l10n_din5008_sale/report/din5008_sale_templates.xml @@ -0,0 +1,129 @@ + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008_sale/pyproject.toml b/odoo-bringout-oca-ocb-l10n_din5008_sale/pyproject.toml index 9b8c2d2..ab4fbbc 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_sale/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_din5008_sale/pyproject.toml @@ -1,13 +1,15 @@ [project] name = "odoo-bringout-oca-ocb-l10n_din5008_sale" version = "16.0.0" -description = "DIN 5008 - Sale - Odoo addon" +description = "DIN 5008 - Sale - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-l10n_din5008>=16.0.0", - "odoo-bringout-oca-ocb-sale>=16.0.0", + "odoo-bringout-oca-ocb-l10n_din5008>=19.0.0", + "odoo-bringout-oca-ocb-sale>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -17,7 +19,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/README.md b/odoo-bringout-oca-ocb-l10n_din5008_stock/README.md index 2ae8459..57585c8 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/README.md +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/README.md @@ -10,36 +10,15 @@ pip install odoo-bringout-oca-ocb-l10n_din5008_stock ## Dependencies -This addon depends on: - l10n_din5008 - stock -## Manifest Information - -- **Name**: DIN 5008 - Stock -- **Version**: N/A -- **Category**: Accounting/Localizations -- **License**: LGPL-3 -- **Installable**: False - ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_din5008_stock`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_din5008_stock ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/__init__.py b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/__init__.py index 0650744..e69de29 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/__init__.py @@ -1 +0,0 @@ -from . import models diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/__manifest__.py b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/__manifest__.py index 4fc8dc1..6833213 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/__manifest__.py @@ -8,6 +8,11 @@ 'l10n_din5008', 'stock', ], + 'data': [ + 'report/din5008_stock_templates.xml', + 'report/din5008_stock_picking_layout.xml', + ], 'auto_install': True, + 'author': 'Odoo S.A.', 'license': 'LGPL-3', } diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/de.po b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/de.po index c0f28c4..ef8e48c 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/de.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/de.po @@ -4,46 +4,39 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.3alpha1+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:52+0000\n" -"PO-Revision-Date: 2024-02-14 08:49+0100\n" +"POT-Creation-Date: 2025-12-30 19:06+0000\n" +"PO-Revision-Date: 2024-04-25 09:13+0000\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Customer Address:" -msgstr "Kundenadresse:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Beneficiary:" +msgstr "Leistungsempfänger:" #. module: l10n_din5008_stock -#: model:ir.model.fields,field_description:l10n_din5008_stock.field_stock_picking__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "L10N Din5008 Adressen" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Customer Address:" +msgstr "Adresse des Kunden:" #. module: l10n_din5008_stock -#: model:ir.model,name:l10n_din5008_stock.model_stock_picking -msgid "Transfer" -msgstr "Transfer" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Vendor Address:" +msgstr "Adresse des Lieferanten:" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Vendor Address:" -msgstr "Adresse des Lieferanten:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Warehouse Address:" +msgstr "Adresse des Lagerhauses:" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Warehouse Address:" -msgstr "Adresse des Lagerhauses:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Tax ID" +msgstr "USt-IdNr." diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/fr.po b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/fr.po index 97c1e1e..2227b61 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/fr.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/fr.po @@ -4,46 +4,39 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0+e\n" +"Project-Id-Version: Odoo Server 17.3alpha1+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:52+0000\n" -"PO-Revision-Date: 2024-02-14 09:23+0100\n" +"POT-Creation-Date: 2025-12-30 19:06+0000\n" +"PO-Revision-Date: 2024-04-25 09:13+0000\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Customer Address:" -msgstr "Adresse du client :" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Beneficiary:" +msgstr "Beneficiary:" #. module: l10n_din5008_stock -#: model:ir.model.fields,field_description:l10n_din5008_stock.field_stock_picking__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "Adresses L10N Din5008" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Customer Address:" +msgstr "Customer Address:" #. module: l10n_din5008_stock -#: model:ir.model,name:l10n_din5008_stock.model_stock_picking -msgid "Transfer" -msgstr "Transfert" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Vendor Address:" +msgstr "Vendor Address:" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Vendor Address:" -msgstr "Adresse du fournisseur :" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Warehouse Address:" +msgstr "Vendor Address:" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Warehouse Address:" -msgstr "Adresse de l'entrepôt :" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Tax ID" +msgstr "N° de TVA" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/it.po b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/it.po index aee79cc..4ef3ecb 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/it.po +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/it.po @@ -4,46 +4,39 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0+e\n" +"Project-Id-Version: Odoo Server 17.3alpha1+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:52+0000\n" -"PO-Revision-Date: 2024-02-14 09:23+0100\n" +"POT-Creation-Date: 2025-12-30 19:06+0000\n" +"PO-Revision-Date: 2024-04-25 09:14+0000\n" "Last-Translator: \n" "Language-Team: \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Customer Address:" -msgstr "Indirizzo cliente:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Beneficiary:" +msgstr "Beneficiary:" #. module: l10n_din5008_stock -#: model:ir.model.fields,field_description:l10n_din5008_stock.field_stock_picking__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" -msgstr "Indirizzi L10N Din5008" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Customer Address:" +msgstr "Customer Address:" #. module: l10n_din5008_stock -#: model:ir.model,name:l10n_din5008_stock.model_stock_picking -msgid "Transfer" -msgstr "Trasferimento" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Vendor Address:" +msgstr "Vendor Address:" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Vendor Address:" -msgstr "Indirizzo fornitore:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Warehouse Address:" +msgstr "Warehouse Address:" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Warehouse Address:" -msgstr "Indirizzo magazzino:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Tax ID" +msgstr "Partita IVA" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/l10n_din5008_stock.pot b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/l10n_din5008_stock.pot index c70dd4b..f915164 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/l10n_din5008_stock.pot +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/i18n/l10n_din5008_stock.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 19.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 21:52+0000\n" -"PO-Revision-Date: 2024-02-13 21:52+0000\n" +"POT-Creation-Date: 2025-12-30 19:06+0000\n" +"PO-Revision-Date: 2025-12-30 19:06+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,32 +16,26 @@ msgstr "" "Plural-Forms: \n" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Customer Address:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Beneficiary:" msgstr "" #. module: l10n_din5008_stock -#: model:ir.model.fields,field_description:l10n_din5008_stock.field_stock_picking__l10n_din5008_addresses -msgid "L10N Din5008 Addresses" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Customer Address:" msgstr "" #. module: l10n_din5008_stock -#: model:ir.model,name:l10n_din5008_stock.model_stock_picking -msgid "Transfer" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Vendor Address:" msgstr "" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Vendor Address:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Warehouse Address:" msgstr "" #. module: l10n_din5008_stock -#. odoo-python -#: code:addons/l10n_din5008_stock/models/stock.py:0 -#, python-format -msgid "Warehouse Address:" +#: model_terms:ir.ui.view,arch_db:l10n_din5008_stock.report_delivery_document +msgid "Tax ID" msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/models/__init__.py b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/models/__init__.py deleted file mode 100644 index 12bab77..0000000 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/models/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import stock diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/models/stock.py b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/models/stock.py deleted file mode 100644 index 54c4d1d..0000000 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/models/stock.py +++ /dev/null @@ -1,26 +0,0 @@ -from odoo import models, fields, _ -from odoo.tools import format_date - - -class StockPicking(models.Model): - _inherit = 'stock.picking' - - l10n_din5008_addresses = fields.Binary(compute='_compute_l10n_din5008_addresses', exportable=False) - - def _compute_l10n_din5008_addresses(self): - for record in self: - record.l10n_din5008_addresses = data = [] - if record.partner_id: - if record.picking_type_id.code == 'incoming': - data.append((_('Vendor Address:'), record.partner_id)) - if record.picking_type_id.code == 'internal': - data.append((_('Warehouse Address:'), record.partner_id)) - if record.picking_type_id.code == 'outgoing' and record.move_ids_without_package and record.move_ids_without_package[0].partner_id \ - and record.move_ids_without_package[0].partner_id.id != record.partner_id.id: - data.append((_('Customer Address:'), record.partner_id)) - - def check_field_access_rights(self, operation, field_names): - field_names = super().check_field_access_rights(operation, field_names) - return [field_name for field_name in field_names if field_name not in { - 'l10n_din5008_addresses', - }] diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/report/din5008_stock_picking_layout.xml b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/report/din5008_stock_picking_layout.xml new file mode 100644 index 0000000..48d1d1b --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/report/din5008_stock_picking_layout.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/report/din5008_stock_templates.xml b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/report/din5008_stock_templates.xml new file mode 100644 index 0000000..45734e3 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/l10n_din5008_stock/report/din5008_stock_templates.xml @@ -0,0 +1,36 @@ + + + + diff --git a/odoo-bringout-oca-ocb-l10n_din5008_stock/pyproject.toml b/odoo-bringout-oca-ocb-l10n_din5008_stock/pyproject.toml index cec207f..2c4d2b8 100644 --- a/odoo-bringout-oca-ocb-l10n_din5008_stock/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_din5008_stock/pyproject.toml @@ -1,13 +1,15 @@ [project] name = "odoo-bringout-oca-ocb-l10n_din5008_stock" version = "16.0.0" -description = "DIN 5008 - Stock - Odoo addon" +description = "DIN 5008 - Stock - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-l10n_din5008>=16.0.0", - "odoo-bringout-oca-ocb-stock>=16.0.0", + "odoo-bringout-oca-ocb-l10n_din5008>=19.0.0", + "odoo-bringout-oca-ocb-stock>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -17,7 +19,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/README.md b/odoo-bringout-oca-ocb-l10n_gcc_invoice/README.md index 42de858..d2b63ec 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_invoice/README.md +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/README.md @@ -1,7 +1,7 @@ -# G.C.C. - Arabic/English Invoice +# Gulf Cooperation Council - Invoice - Arabic/English for GCC +Adds Arabic as a secondary language on your invoice, credit note, debit note, vendor bill, and refund bill ## Installation @@ -12,35 +12,14 @@ pip install odoo-bringout-oca-ocb-l10n_gcc_invoice ## Dependencies -This addon depends on: - account -## Manifest Information - -- **Name**: G.C.C. - Arabic/English Invoice -- **Version**: 1.0.0 -- **Category**: Accounting/Localizations -- **License**: LGPL-3 -- **Installable**: False - ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_gcc_invoice`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_gcc_invoice ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/__init__.py b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/__init__.py index 90b1755..694e8a2 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/__init__.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - from . import models -from . import tests + + +def _l10n_gcc_invoice_post_init(env): + env['res.lang']._activate_and_install_lang('ar_001') diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/__manifest__.py b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/__manifest__.py index 0ac3556..88b8159 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/__manifest__.py @@ -1,16 +1,21 @@ -# -*- encoding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. { - 'name': 'G.C.C. - Arabic/English Invoice', - 'version': '1.0.0', - 'author': 'Odoo', + 'name': 'Gulf Cooperation Council - Invoice', + 'version': '1.0.1', 'category': 'Accounting/Localizations', 'description': """ - Arabic/English for GCC +Adds Arabic as a secondary language on your invoice, credit note, debit note, vendor bill, and refund bill """, + 'author': 'Odoo S.A.', 'license': 'LGPL-3', 'depends': ['account'], + 'post_init_hook': '_l10n_gcc_invoice_post_init', 'data': [ 'views/report_invoice.xml', + 'views/res_config_settings_views.xml', ], + "assets": { + "web.report_assets_common": [ + "l10n_gcc_invoice/static/src/scss/styles.scss", + ], + }, } diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/__init__.py b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/__init__.py index c0124ef..1d2c471 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/__init__.py @@ -2,3 +2,6 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from . import account_move +from . import product +from . import res_company +from . import res_config_settings diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/account_move.py b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/account_move.py index 1e2421b..9a81dd8 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/account_move.py +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/account_move.py @@ -1,7 +1,17 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import fields, models, api +import logging + +from odoo import api, fields, models + +_logger = logging.getLogger(__name__) + +try: + from num2words import num2words +except ImportError: + _logger.warning("The num2words python library is not installed, amount-to-text features won't be fully available.") + num2words = None class AccountMove(models.Model): @@ -11,18 +21,29 @@ class AccountMove(models.Model): def _get_name_invoice_report(self): self.ensure_one() - if self.company_id.country_id in self.env.ref('base.gulf_cooperation_council').country_ids: - return 'l10n_gcc_invoice.arabic_english_invoice' + if self.company_id.country_id and 'GCC' in self.company_id.country_id.country_group_codes: + return 'l10n_gcc_invoice.l10n_gcc_report_invoice_document' return super()._get_name_invoice_report() + def _l10n_gcc_get_invoice_title(self): + """To be overriden by inheriting modules implementing a custom invoice title""" + self.ensure_one() + return False + + def _num2words(self, number, lang): + if num2words is None: + _logger.warning("The library 'num2words' is missing, cannot render textual amounts.") + return "" + + return num2words(number, lang=lang).title() + def _load_narration_translation(self): # Workaround to have the english/arabic version of the payment terms # in the report if not self: return - gcc_countries = self.env.ref('base.gulf_cooperation_council').country_ids moves_to_fix = self.env['account.move'] - for move in self.filtered(lambda m: m.company_id.country_id in gcc_countries and m.is_sale_document(include_receipts=True) and m.narration): + for move in self.filtered(lambda m: m.narration and m.is_sale_document(include_receipts=True) and m.company_id.country_id and 'GCC' in m.company_id.country_id.country_group_codes): lang = move.partner_id.lang or self.env.user.lang if move.company_id.terms_type == 'html' or move.narration != move.company_id.with_context(lang=lang).invoice_terms: continue @@ -49,12 +70,42 @@ class AccountMove(models.Model): # Only update translations of real records self.filtered('id')._load_narration_translation() + class AccountMoveLine(models.Model): _inherit = 'account.move.line' - l10n_gcc_invoice_tax_amount = fields.Float(string='Tax Amount', compute='_compute_tax_amount', digits='Product Price') + l10n_gcc_invoice_tax_amount = fields.Float(string='Tax Amount', compute='_compute_tax_amount', min_display_digits='Product Price') + l10n_gcc_line_name = fields.Char(compute='_compute_l10n_gcc_line_name') @api.depends('price_subtotal', 'price_total') def _compute_tax_amount(self): for record in self: record.l10n_gcc_invoice_tax_amount = record.price_total - record.price_subtotal + + @api.depends('name') + def _compute_l10n_gcc_line_name(self): + def lang_product_name(line, lang): + return line.with_context(lang=lang).product_id.display_name + for line in self: + if line.product_id and line.name in [lang_product_name(line, lang) for lang in ('ar_001', 'en_US')]: + line.l10n_gcc_line_name = lang_product_name(line, line.move_id.partner_id.lang) + else: + line.l10n_gcc_line_name = line.name + + def _get_child_lines(self): + # EXTENDS account + self.ensure_one() + res = super()._get_child_lines() + + for line in res: + line['l10n_gcc_invoice_tax_amount'] = line['price_total'] - line['price_subtotal'] + + return res + + def _l10n_gcc_get_section_total(self): + section_lines = self._get_section_lines() + return sum(section_lines.mapped('price_total')) + + def _l10n_gcc_get_section_tax_amount(self): + section_lines = self._get_section_lines() + return sum(section_lines.mapped('l10n_gcc_invoice_tax_amount')) diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/product.py b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/product.py new file mode 100644 index 0000000..85da62f --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/product.py @@ -0,0 +1,24 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import re + +from odoo import models + + +class ProductProduct(models.Model): + _inherit = 'product.product' + + def _compute_display_name(self): + """ In a string consisting of space-delimited substrings, force a double-space between + substrings where (when looking right to left) the first substring ends with a numeral and + the second begins with an Arabic character. + """ + def repl(match_occurrence): + # group(1): (\d) == numeral + # group(3): ([\u0600-\u06FF]) == Arabic character + return f'{match_occurrence.group(1)} {match_occurrence.group(3)}' + + super()._compute_display_name() + for product in self: + if product.display_name: + product.display_name = re.sub(r'(\d)(\s)([\u0600-\u06FF])', repl, product.display_name) diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/res_company.py b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/res_company.py new file mode 100644 index 0000000..4200299 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/res_company.py @@ -0,0 +1,13 @@ +from odoo import api, fields, models + + +class ResCompany(models.Model): + _inherit = 'res.company' + + l10n_gcc_dual_language_invoice = fields.Boolean(string="GCC Formatted Invoices") + l10n_gcc_country_is_gcc = fields.Boolean(compute='_compute_l10n_gcc_country_is_gcc') + + @api.depends('partner_id.country_id.country_group_ids.code') + def _compute_l10n_gcc_country_is_gcc(self): + for record in self: + record.l10n_gcc_country_is_gcc = record.country_id and 'GCC' in record.country_id.country_group_codes diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/res_config_settings.py b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/res_config_settings.py new file mode 100644 index 0000000..810832d --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/models/res_config_settings.py @@ -0,0 +1,8 @@ +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + l10n_gcc_dual_language_invoice = fields.Boolean(related='company_id.l10n_gcc_dual_language_invoice', readonly=False) + l10n_gcc_country_is_gcc = fields.Boolean(related='company_id.l10n_gcc_country_is_gcc') diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/static/src/scss/styles.scss b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/static/src/scss/styles.scss new file mode 100644 index 0000000..6d894c9 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/static/src/scss/styles.scss @@ -0,0 +1,3 @@ +table[name="invoice_line_table"] th { + vertical-align: bottom; +} diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/views/report_invoice.xml b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/views/report_invoice.xml index 3bc8181..ae5574e 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/views/report_invoice.xml +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/views/report_invoice.xml @@ -1,556 +1,335 @@ - - - - - - + + + diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/views/res_config_settings_views.xml b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/views/res_config_settings_views.xml new file mode 100644 index 0000000..a70a481 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/l10n_gcc_invoice/views/res_config_settings_views.xml @@ -0,0 +1,19 @@ + + + + + res.config.settins.view.form.inherit + res.config.settings + + + + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_gcc_invoice/pyproject.toml b/odoo-bringout-oca-ocb-l10n_gcc_invoice/pyproject.toml index b4d0894..7110a96 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_invoice/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_gcc_invoice/pyproject.toml @@ -1,12 +1,14 @@ [project] name = "odoo-bringout-oca-ocb-l10n_gcc_invoice" version = "16.0.0" -description = "G.C.C. - Arabic/English Invoice - Odoo addon" +description = "Gulf Cooperation Council - Invoice - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-account>=16.0.0", + "odoo-bringout-oca-ocb-account>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -16,7 +18,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/README.md b/odoo-bringout-oca-ocb-l10n_gcc_pos/README.md index 63b0b76..197ff47 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_pos/README.md +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/README.md @@ -1,8 +1,7 @@ # Gulf Cooperation Council - Point of Sale -GCC POS Localization -======================================================= +Adds Arabic as a secondary language on your receipt ## Installation @@ -13,36 +12,15 @@ pip install odoo-bringout-oca-ocb-l10n_gcc_pos ## Dependencies -This addon depends on: - point_of_sale - l10n_gcc_invoice -## Manifest Information - -- **Name**: Gulf Cooperation Council - Point of Sale -- **Version**: N/A -- **Category**: Accounting/Localizations/Point of Sale -- **License**: LGPL-3 -- **Installable**: False - ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_gcc_pos`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_gcc_pos ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/__init__.py b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/__init__.py index e69de29..0650744 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/__manifest__.py b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/__manifest__.py index 34c3e0b..7629b27 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/__manifest__.py @@ -2,19 +2,19 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. { 'name': 'Gulf Cooperation Council - Point of Sale', - 'author': 'Odoo S.A', 'category': 'Accounting/Localizations/Point of Sale', 'description': """ -GCC POS Localization -======================================================= +Adds Arabic as a secondary language on your receipt """, + 'author': 'Odoo S.A.', 'license': 'LGPL-3', 'depends': ['point_of_sale', 'l10n_gcc_invoice'], + 'data': [ + 'views/res_config_settings_views.xml', + ], 'assets': { - 'point_of_sale.assets': [ - 'l10n_gcc_pos/static/src/js/OrderReceipt.js', - 'l10n_gcc_pos/static/src/css/OrderReceipt.css', - 'l10n_gcc_pos/static/src/xml/OrderReceipt.xml', + 'point_of_sale._assets_pos': [ + 'l10n_gcc_pos/static/src/**/*', ] }, 'auto_install': True, diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/__init__.py b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/__init__.py new file mode 100644 index 0000000..2b92809 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/__init__.py @@ -0,0 +1,2 @@ +from . import pos_config +from . import res_config_settings diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/pos_config.py b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/pos_config.py new file mode 100644 index 0000000..593dab1 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/pos_config.py @@ -0,0 +1,7 @@ +from odoo import fields, models + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + l10n_gcc_dual_language_receipt = fields.Boolean(string="GCC Formatted Receipts") diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/res_config_settings.py b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/res_config_settings.py new file mode 100644 index 0000000..7917d06 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/models/res_config_settings.py @@ -0,0 +1,7 @@ +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + l10n_gcc_dual_language_receipt = fields.Boolean(related='pos_config_id.l10n_gcc_dual_language_receipt', readonly=False) diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/app/models/pos_order.js b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/app/models/pos_order.js new file mode 100644 index 0000000..412cad3 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/app/models/pos_order.js @@ -0,0 +1,25 @@ +import { PosOrder } from "@point_of_sale/app/models/pos_order"; +import { patch } from "@web/core/utils/patch"; + +patch(PosOrder.prototype, { + get isGccCountry() { + return ["SA", "AE", "BH", "OM", "QA", "KW"].includes(this.company.country_id?.code); + }, + /** + * If the order is empty (there are no products) + * and all "pay_later" payments are negative, + * we are settling a customer's account. + * If the module pos_settle_due is not installed, + * the function always returns false (since "pay_later" doesn't exist) + * @returns {boolean} true if the current order is a settlement, else false + */ + isSettlement() { + return ( + this.isEmpty() && + !!this.payment_ids.filter( + (paymentline) => + paymentline.payment_method_id.type === "pay_later" && paymentline.amount < 0 + ).length + ); + }, +}); diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/app/screens/receipt_screen/receipt/order_receipt.xml b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/app/screens/receipt_screen/receipt/order_receipt.xml new file mode 100644 index 0000000..877a203 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/app/screens/receipt_screen/receipt/order_receipt.xml @@ -0,0 +1,84 @@ + + + + + + + +
+
+
+ + + Tax Invoice / + الفاتورة الضريبية + + + + Tax Invoice + + + الفاتورة الضريبية + + + + + + Simplified Tax Invoice / + فاتورة ضريبية مبسطة + + + + Simplified Tax Invoice + + + فاتورة ضريبية مبسطة + + + +
+
+
+ + !order.isGccCountry or !order.config_id.l10n_gcc_dual_language_receipt + + +
+
Served by / خدم بواسطة
+
+
+
+ + + + !order.isGccCountry or !order.config_id.l10n_gcc_dual_language_receipt + + + Subtotal / الإجمالي الفرعي + + + !order.isGccCountry or !order.config_id.l10n_gcc_dual_language_receipt + + + Rounding / التقريب + + + !order.isGccCountry or !order.config_id.l10n_gcc_dual_language_receipt + + + Total / اﻹجمالي + + + !order.isGccCountry or !order.config_id.l10n_gcc_dual_language_receipt + + + Discounts / الخصومات + + + !order.isGccCountry or !order.config_id.l10n_gcc_dual_language_receipt + + + Change / الباقي + + +
diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/js/OrderReceipt.js b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/js/OrderReceipt.js deleted file mode 100644 index 68e6795..0000000 --- a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/js/OrderReceipt.js +++ /dev/null @@ -1,20 +0,0 @@ -odoo.define('l10n_gcc_pos.OrderReceipt', function (require) { - 'use strict'; - - const OrderReceipt = require('point_of_sale.OrderReceipt') - const Registries = require('point_of_sale.Registries'); - - const OrderReceiptGCC = OrderReceipt => - class extends OrderReceipt { - - get receiptEnv() { - let receipt_render_env = super.receiptEnv; - let receipt = receipt_render_env.receipt; - const country = receipt_render_env.order.pos.company.country; - receipt.is_gcc_country = country ? ['SA', 'AE', 'BH', 'OM', 'QA', 'KW'].includes(country && country.code) : false; - return receipt_render_env; - } - } - Registries.Component.extend(OrderReceipt, OrderReceiptGCC) - return OrderReceiptGCC -}); diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/xml/OrderReceipt.xml b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/xml/OrderReceipt.xml deleted file mode 100644 index 04a417e..0000000 --- a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/static/src/xml/OrderReceipt.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -
-
-
- Tax Invoice -
-
- الفاتورة الضريبية -
-
-
- - - !receipt.is_gcc_country - - -
-
Served by / خدم بواسطة
-
-
- - - !receipt.is_gcc_country - - -
- Subtotal / الإجمالي الفرعي - -
-
- - - !receipt.is_gcc_country - - -
- TOTAL / الإجمالي - -
-
- - - !receipt.is_gcc_country - - -
- Rounding / التقريب - -
-
- - - !receipt.is_gcc_country - - -
- To Pay / للسداد - -
-
- - - !receipt.is_gcc_country - - -
- CHANGE / الباقي - -
-
- - - !receipt.is_gcc_country - - -
- Discounts / الخصومات - -
-
- - - !receipt.is_gcc_country - - -
- Total Taxes / إجمالي الضرائب - -
-
-
- - - - !receipt.is_gcc_country - - -
-
-
Taxes / الضرائب
: -
- -
-
- - - !receipt.is_gcc_country - - - -
- - - x - -
-
-
-
Taxes / الضرائب
: -
- -
-
-
- - - !receipt.is_gcc_country - - -
-
Discount / الخصم
: % -
-
-
-
diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/tests/__init__.py b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/tests/__init__.py new file mode 100644 index 0000000..f370955 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/tests/__init__.py @@ -0,0 +1,3 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import test_gcc_pos diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/tests/test_gcc_pos.py b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/tests/test_gcc_pos.py new file mode 100644 index 0000000..c79ebbc --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/tests/test_gcc_pos.py @@ -0,0 +1,28 @@ +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.addons.point_of_sale.tests.test_generic_localization import TestGenericLocalization +from odoo.tests import tagged + + +@tagged('post_install', '-at_install', 'post_install_l10n') +class TestGenericGCC(TestGenericLocalization): + @classmethod + @AccountTestInvoicingCommon.setup_country('sa') + def setUpClass(cls): + super().setUpClass() + if cls.env['ir.module.module']._get('l10n_sa_edi').state == 'installed': + cls.skipTest(cls, "l10n_sa_edi should not be installed") + cls.main_pos_config.company_id.name = 'Generic GCC' + cls.company.write({ + 'email': 'info@company.saexample.com', + 'phone': '+966 51 234 5678', + 'street2': 'Testomania', + 'vat': '311111111111113', + 'state_id': cls.env['res.country.state'].create({ + 'name': 'Riyadh', + 'code': 'RYA', + 'country_id': cls.company.country_id.id + }), + 'street': 'Al Amir Mohammed Bin Abdul Aziz Street', + 'city': 'المدينة المنورة', + 'zip': '42317', + }) diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/views/res_config_settings_views.xml b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/views/res_config_settings_views.xml new file mode 100644 index 0000000..4b5fc52 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/l10n_gcc_pos/views/res_config_settings_views.xml @@ -0,0 +1,19 @@ + + + + + res.config.settins.view.form.inherit + res.config.settings + + + + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_gcc_pos/pyproject.toml b/odoo-bringout-oca-ocb-l10n_gcc_pos/pyproject.toml index 952f9fa..d41ab70 100644 --- a/odoo-bringout-oca-ocb-l10n_gcc_pos/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_gcc_pos/pyproject.toml @@ -1,13 +1,15 @@ [project] name = "odoo-bringout-oca-ocb-l10n_gcc_pos" version = "16.0.0" -description = "Gulf Cooperation Council - Point of Sale - Odoo addon" +description = "Gulf Cooperation Council - Point of Sale - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-point_of_sale>=16.0.0", - "odoo-bringout-oca-ocb-l10n_gcc_invoice>=16.0.0", + "odoo-bringout-oca-ocb-point_of_sale>=19.0.0", + "odoo-bringout-oca-ocb-l10n_gcc_invoice>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -17,7 +19,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_hk/README.md b/odoo-bringout-oca-ocb-l10n_hk/README.md index ef98aa9..9ac59a0 100644 --- a/odoo-bringout-oca-ocb-l10n_hk/README.md +++ b/odoo-bringout-oca-ocb-l10n_hk/README.md @@ -10,35 +10,15 @@ pip install odoo-bringout-oca-ocb-l10n_hk ## Dependencies -This addon depends on: +- account_qr_code_emv - account -## Manifest Information - -- **Name**: Hong Kong - Accounting -- **Version**: 1.0 -- **Category**: Accounting/Localizations/Account Charts -- **License**: LGPL-3 -- **Installable**: False - ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_hk`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_hk ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/__init__.py b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/__init__.py index 67dee8c..d581b39 100644 --- a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/__init__.py @@ -1,2 +1,2 @@ -# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import models diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/__manifest__.py b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/__manifest__.py index 881c388..a8ef1d4 100644 --- a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/__manifest__.py @@ -1,21 +1,24 @@ -# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. - { 'name': 'Hong Kong - Accounting', + 'website': 'https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/hong_kong.html', + 'icon': '/account/static/description/l10n.png', + 'countries': ['hk'], 'version': '1.0', 'category': 'Accounting/Localizations/Account Charts', - 'description': """ This is the base module to manage chart of accounting and localization for Hong Kong """, - 'author': 'Odoo SA', - 'depends': ['account'], + 'description': ' This is the base module to manage chart of accounting and localization for Hong Kong ', + 'depends': [ + 'account_qr_code_emv', + 'account', + ], + 'auto_install': ['account'], 'data': [ 'data/account_chart_template_data.xml', - 'data/account.account.template.csv', - 'data/l10n_hk_chart_data.xml', - 'data/account_chart_template_configure_data.xml', + 'views/res_bank_views.xml', ], 'demo': [ 'demo/demo_company.xml', ], + 'author': 'Odoo S.A.', 'license': 'LGPL-3', } diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account.account.template.csv b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account.account.template.csv deleted file mode 100644 index 92bb141..0000000 --- a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account.account.template.csv +++ /dev/null @@ -1,73 +0,0 @@ -"id","name","code","account_type","chart_template_id/id","tag_ids/id","reconcile" -"l10n_hk_11","Fixed Assets","11","asset_fixed","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1110","Furniture and Fixtures","1110","asset_non_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1130","Equipment","1130","asset_non_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1140","Decoration","1140","asset_non_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1160","Investments","1160","asset_non_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_12","Current Assets","12","asset_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1240","Account Receivable","1240","asset_receivable","l10n_hk.l10n_hk_chart_template","","True" -"l10n_hk_1241","Utility & Rental Deposit","1241","asset_current","l10n_hk.l10n_hk_chart_template","","True" -"l10n_hk_1242","Supplier Prepayments","1242","asset_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1243","Account Receivable (PoS)","1243","asset_receivable","l10n_hk.l10n_hk_chart_template","","True" -"l10n_hk_1245","Sundry Deposits","1245","asset_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1246","Other Receivable","1246","asset_receivable","l10n_hk.l10n_hk_chart_template","","True" -"l10n_hk_1250","Stock Interim Account (Received)","1250","asset_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1260","Stock Interim Account (Delivered)","1260","asset_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_1270","Stock Valuation Account","1270","asset_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_21","Non-current Liabilities","21","liability_non_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_22","Current Liabilities","22","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_2210","Accruals","2210","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_221001","MPF (Employer)","221001","liability_current","l10n_hk.l10n_hk_chart_template","","True" -"l10n_hk_221002","MPF (Employee)","221002","liability_current","l10n_hk.l10n_hk_chart_template","","True" -"l10n_hk_2211","Account Payable","2211","liability_payable","l10n_hk.l10n_hk_chart_template","","True" -"l10n_hk_2212","Receipt in Advance (Customer Prepayments)","2212","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_2214","Provision for Taxation","2214","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_2215","Proposed Dividend","2215","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_2216","Other Payable","2216","liability_payable","l10n_hk.l10n_hk_chart_template","","True" -"l10n_hk_31","Paid Capital","31","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_32","Accumulated Profit & Loss","32","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_33","Profit & Loss Account","33","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_34","Short-term Borrowing","34","liability_current","l10n_hk.l10n_hk_chart_template","","False" -"l10n_hk_41","Trade Income","41","income","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_42","Other Income and Gains","42","income","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_4210","Sundry Income","4210","income","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_4220","Exchange Adjustment","4220","income","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_4230","Bank Interest Income","4230","income","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_4240","Foreign Exchange Gain","4240","income","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_4250","Cash Discount Gain","4250","income_other","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_51","Costs","51","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5101","Trade Costs","5101","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5105","Misc. Costs","5105","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5106","Costs of Transportation","5106","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5111","Declaration Fees","5111","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5112","Packing Fees","5112","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_52","Expenses","52","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5201","Bank Charges","5201","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5202","Entertainment","5202","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5203","Electricity & Water Fees","5203","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5205","Postage & Stamps","5205","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5206","Printing & Stationery","5206","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5207","Rent & Rates","5207","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5208","Sundry Expenses","5208","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5209","Telecommunication Expenses","5209","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5210","Traffic Fees","5210","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5211","IT Expenses","5211","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5214","Insurance","5214","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5215","Sales Commission","5215","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5216","Overseas Traveling","5216","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5217","MPF Contribution","5217","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5218","Wages & Salaries","5218","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5219","Bonus Payment","5219","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5221","Taxation","5221","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5222","Local Delivery","5222","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5223","Management Fees","5223","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5224","Depreciation","5224","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5225","Audit Fees","5225","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5226","Bad Debts","5226","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5228","Legal & Professional Fees","5228","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5229","Dividend","5229","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5231","Disposal","5231","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5234","Repair and Maintenance","5234","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5235","Advertising","5235","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5240","Foreign Exchange Loss","5240","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" -"l10n_hk_5250","Cash Discount Loss","5250","expense","l10n_hk.l10n_hk_chart_template","account.account_tag_operating","False" diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account_chart_template_configure_data.xml b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account_chart_template_configure_data.xml deleted file mode 100644 index f6f61f2..0000000 --- a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account_chart_template_configure_data.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account_chart_template_data.xml b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account_chart_template_data.xml index c6cfb9e..633d4f5 100644 --- a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account_chart_template_data.xml +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/account_chart_template_data.xml @@ -1,17 +1,8 @@ - + - + - - Hong Kong - Chart of Accounts - 1200 - 1210 - 111220 - 6 - - - - + diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/l10n_hk_chart_data.xml b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/l10n_hk_chart_data.xml deleted file mode 100644 index cec3edf..0000000 --- a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/l10n_hk_chart_data.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - Hong Kong - Chart of Accounts - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/template/account.account-hk.csv b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/template/account.account-hk.csv new file mode 100644 index 0000000..68f7269 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/data/template/account.account-hk.csv @@ -0,0 +1,76 @@ +"id","name","code","account_type","tag_ids","reconcile" +"l10n_hk_11","Fixed Assets","11","asset_fixed","","False" +"l10n_hk_1110","Furniture and Fixtures","1110","asset_non_current","","False" +"l10n_hk_1130","Equipment","1130","asset_non_current","","False" +"l10n_hk_1140","Decoration","1140","asset_non_current","","False" +"l10n_hk_1160","Investments","1160","asset_non_current","","False" +"l10n_hk_12","Current Assets","12","asset_current","","False" +"l10n_hk_1240","Account Receivable","1240","asset_receivable","","True" +"l10n_hk_1241","Utility & Rental Deposit","1241","asset_current","","True" +"l10n_hk_1242","Supplier Prepayments","1242","asset_current","","False" +"l10n_hk_1243","Account Receivable (PoS)","1243","asset_receivable","","True" +"l10n_hk_1245","Sundry Deposits","1245","asset_current","","False" +"l10n_hk_1246","Other Receivable","1246","asset_receivable","","True" +"l10n_hk_1250","Stock Interim Account (Received)","1250","asset_current","","False" +"l10n_hk_1260","Stock Interim Account (Delivered)","1260","asset_current","","False" +"l10n_hk_1270","Stock Valuation Account","1270","asset_current","","False" +"l10n_hk_1400","Prepaid Expenses","1400","asset_current","","False" +"l10n_hk_21","Non-current Liabilities","21","liability_non_current","","False" +"l10n_hk_2107","Unearned Income from System","2107","liability_current","","False" +"l10n_hk_22","Current Liabilities","22","liability_current","","False" +"l10n_hk_2210","Accruals","2210","liability_current","","False" +"l10n_hk_221001","MPF Accrued (Employer)","221001","liability_current","","False" +"l10n_hk_221002","MPF Witheld (Employee)","221002","liability_current","","False" +"l10n_hk_2211","Account Payable","2211","liability_payable","","True" +"l10n_hk_2212","Receipt in Advance (Customer Prepayments)","2212","liability_current","","False" +"l10n_hk_2214","Provision for Taxation","2214","liability_current","","False" +"l10n_hk_2215","Proposed Dividend","2215","liability_current","","False" +"l10n_hk_2216","Other Payable","2216","liability_payable","","True" +"l10n_hk_2217","Salaries & Wages Payable","2217","liability_current","","True" +"l10n_hk_31","Paid Capital","31","liability_current","","False" +"l10n_hk_32","Accumulated Profit & Loss","32","liability_current","","False" +"l10n_hk_33","Profit & Loss Account","33","liability_current","","False" +"l10n_hk_34","Short-term Borrowing","34","liability_current","","False" +"l10n_hk_41","Trade Income","41","income","account.account_tag_operating","False" +"l10n_hk_42","Other Income and Gains","42","income","account.account_tag_operating","False" +"l10n_hk_4210","Sundry Income","4210","income","account.account_tag_operating","False" +"l10n_hk_4220","Exchange Adjustment","4220","income","account.account_tag_operating","False" +"l10n_hk_4230","Bank Interest Income","4230","income","account.account_tag_operating","False" +"l10n_hk_4240","Foreign Exchange Gain","4240","income","account.account_tag_operating","False" +"l10n_hk_4250","Cash Discount Gain","4250","income_other","account.account_tag_operating","False" +"l10n_hk_51","Costs","51","expense","account.account_tag_operating","False" +"l10n_hk_5101","Trade Costs","5101","expense","account.account_tag_operating","False" +"l10n_hk_5105","Misc. Costs","5105","expense","account.account_tag_operating","False" +"l10n_hk_5106","Costs of Transportation","5106","expense","account.account_tag_operating","False" +"l10n_hk_5111","Declaration Fees","5111","expense","account.account_tag_operating","False" +"l10n_hk_5112","Packing Fees","5112","expense","account.account_tag_operating","False" +"l10n_hk_52","Expenses","52","expense","account.account_tag_operating","False" +"l10n_hk_5201","Bank Charges","5201","expense","account.account_tag_operating","False" +"l10n_hk_5202","Entertainment","5202","expense","account.account_tag_operating","False" +"l10n_hk_5203","Electricity & Water Fees","5203","expense","account.account_tag_operating","False" +"l10n_hk_5205","Postage & Stamps","5205","expense","account.account_tag_operating","False" +"l10n_hk_5206","Printing & Stationery","5206","expense","account.account_tag_operating","False" +"l10n_hk_5207","Rent & Rates","5207","expense","account.account_tag_operating","False" +"l10n_hk_5208","Sundry Expenses","5208","expense","account.account_tag_operating","False" +"l10n_hk_5209","Telecommunication Expenses","5209","expense","account.account_tag_operating","False" +"l10n_hk_5210","Traffic Fees","5210","expense","account.account_tag_operating","False" +"l10n_hk_5211","IT Expenses","5211","expense","account.account_tag_operating","False" +"l10n_hk_5214","Insurance","5214","expense","account.account_tag_operating","False" +"l10n_hk_5215","Sales Commission","5215","expense","account.account_tag_operating","False" +"l10n_hk_5216","Overseas Traveling","5216","expense","account.account_tag_operating","False" +"l10n_hk_5217","MPF Contribution (Employer)","5217","expense","account.account_tag_operating","False" +"l10n_hk_5218","Wages & Salaries","5218","expense","account.account_tag_operating","False" +"l10n_hk_5219","Bonus Payment","5219","expense","account.account_tag_operating","False" +"l10n_hk_5221","Taxation","5221","expense","account.account_tag_operating","False" +"l10n_hk_5222","Local Delivery","5222","expense","account.account_tag_operating","False" +"l10n_hk_5223","Management Fees","5223","expense","account.account_tag_operating","False" +"l10n_hk_5224","Depreciation","5224","expense","account.account_tag_operating","False" +"l10n_hk_5225","Audit Fees","5225","expense","account.account_tag_operating","False" +"l10n_hk_5226","Bad Debts","5226","expense","account.account_tag_operating","False" +"l10n_hk_5228","Legal & Professional Fees","5228","expense","account.account_tag_operating","False" +"l10n_hk_5229","Dividend","5229","expense","account.account_tag_operating","False" +"l10n_hk_5231","Disposal","5231","expense","account.account_tag_operating","False" +"l10n_hk_5234","Repair and Maintenance","5234","expense","account.account_tag_operating","False" +"l10n_hk_5235","Advertising","5235","expense","account.account_tag_operating","False" +"l10n_hk_5240","Foreign Exchange Loss","5240","expense","account.account_tag_operating","False" +"l10n_hk_5250","Cash Discount Loss","5250","expense","account.account_tag_operating","False" diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/demo/demo_company.xml b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/demo/demo_company.xml index 1c06fb4..a9e8008 100644 --- a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/demo/demo_company.xml +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/demo/demo_company.xml @@ -1,35 +1,38 @@ - + HK Company - + 118 Connaught Road West Unit 07 - 10, 38/F Yat Chau International Plaza Sai Ying Pun - + +852 5123 4567 info@company.hkexample.com www.hkexample.com + - + HK Company - + - + - + - - + + hk + + diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/i18n/l10n_hk.pot b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/i18n/l10n_hk.pot new file mode 100644 index 0000000..c6883e1 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/i18n/l10n_hk.pot @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_hk +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-30 19:07+0000\n" +"PO-Revision-Date: 2025-12-30 19:07+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_hk +#: model:ir.model,name:l10n_hk.model_account_chart_template +msgid "Account Chart Template" +msgstr "" + +#. module: l10n_hk +#: model:ir.model,name:l10n_hk.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "Can't generate a FPS QR code with a currency other than HKD or CNY." +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields,field_description:l10n_hk.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_hk.field_res_partner_bank__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_hk +#: model_terms:ir.ui.view,arch_db:l10n_hk.view_partner_bank_form_inherit_account +msgid "Documentation" +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields.selection,name:l10n_hk.selection__res_partner_bank__proxy_type__email +msgid "Email Address" +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields.selection,name:l10n_hk.selection__res_partner_bank__proxy_type__id +msgid "FPS ID" +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields,field_description:l10n_hk.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_hk.field_res_partner_bank__id +msgid "ID" +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"Invalid Email! Please enter a valid email address for account number %s." +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"Invalid FPS ID! Please enter a valid FPS ID with length 7 or 9 for account " +"number %s." +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"Invalid Mobile! Please enter a valid mobile number with format +852-67891234" +" for account number %s." +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields.selection,name:l10n_hk.selection__res_partner_bank__proxy_type__mobile +msgid "Mobile Number" +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields,field_description:l10n_hk.field_account_setup_bank_manual_config__proxy_type +#: model:ir.model.fields,field_description:l10n_hk.field_res_partner_bank__proxy_type +msgid "Proxy Type" +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"The FPS Type must be either ID, Mobile or Email to generate a FPS QR code " +"for account number %s." +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"The FPS Type must be either ID, Mobile or Email to generate a FPS QR code." +msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/i18n/zh_TW.po b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/i18n/zh_TW.po new file mode 100644 index 0000000..aced317 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/i18n/zh_TW.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_hk +# +# Weblate , 2025. +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-30 19:07+0000\n" +"PO-Revision-Date: 2025-11-17 03:11+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Chinese (Traditional Han script) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12.2\n" + +#. module: l10n_hk +#: model:ir.model,name:l10n_hk.model_account_chart_template +msgid "Account Chart Template" +msgstr "賬目總表範本" + +#. module: l10n_hk +#: model:ir.model,name:l10n_hk.model_res_partner_bank +msgid "Bank Accounts" +msgstr "銀行帳戶" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "Can't generate a FPS QR code with a currency other than HKD or CNY." +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields,field_description:l10n_hk.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_hk.field_res_partner_bank__display_name +msgid "Display Name" +msgstr "顯示名稱" + +#. module: l10n_hk +#: model_terms:ir.ui.view,arch_db:l10n_hk.view_partner_bank_form_inherit_account +msgid "Documentation" +msgstr "系統使用說明" + +#. module: l10n_hk +#: model:ir.model.fields.selection,name:l10n_hk.selection__res_partner_bank__proxy_type__email +msgid "Email Address" +msgstr "電子郵件地址" + +#. module: l10n_hk +#: model:ir.model.fields.selection,name:l10n_hk.selection__res_partner_bank__proxy_type__id +msgid "FPS ID" +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields,field_description:l10n_hk.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_hk.field_res_partner_bank__id +msgid "ID" +msgstr "識別號" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"Invalid Email! Please enter a valid email address for account number %s." +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"Invalid FPS ID! Please enter a valid FPS ID with length 7 or 9 for account " +"number %s." +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"Invalid Mobile! Please enter a valid mobile number with format +852-67891234 " +"for account number %s." +msgstr "" + +#. module: l10n_hk +#: model:ir.model.fields.selection,name:l10n_hk.selection__res_partner_bank__proxy_type__mobile +msgid "Mobile Number" +msgstr "流動電話號碼" + +#. module: l10n_hk +#: model:ir.model.fields,field_description:l10n_hk.field_account_setup_bank_manual_config__proxy_type +#: model:ir.model.fields,field_description:l10n_hk.field_res_partner_bank__proxy_type +msgid "Proxy Type" +msgstr "代理類型" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"The FPS Type must be either ID, Mobile or Email to generate a FPS QR code " +"for account number %s." +msgstr "" + +#. module: l10n_hk +#. odoo-python +#: code:addons/l10n_hk/models/res_bank.py:0 +msgid "" +"The FPS Type must be either ID, Mobile or Email to generate a FPS QR code." +msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/__init__.py b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/__init__.py new file mode 100644 index 0000000..6ed6dde --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/__init__.py @@ -0,0 +1,3 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import res_bank +from . import template_hk diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/res_bank.py b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/res_bank.py new file mode 100644 index 0000000..75a185e --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/res_bank.py @@ -0,0 +1,76 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import re + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError +from odoo.tools import single_email_re + + +class ResPartnerBank(models.Model): + _inherit = 'res.partner.bank' + + proxy_type = fields.Selection(selection_add=[('id', "FPS ID"), ('mobile', "Mobile Number"), ('email', "Email Address")], + ondelete={'id': 'set default', 'mobile': 'set default', 'email': 'set default'}) + + @api.constrains('proxy_type', 'proxy_value', 'partner_id') + def _check_hk_proxy(self): + auto_mobn_re = re.compile(r"^[+]\d{1,3}-\d{6,12}$") + for bank in self.filtered(lambda b: b.country_code == 'HK'): + if bank.proxy_type not in ['id', 'mobile', 'email', 'none', False]: + raise ValidationError(_("The FPS Type must be either ID, Mobile or Email to generate a FPS QR code for account number %s.", bank.acc_number)) + if bank.proxy_type == 'id' and (not bank.proxy_value or len(bank.proxy_value) not in [7, 9]): + raise ValidationError(_("Invalid FPS ID! Please enter a valid FPS ID with length 7 or 9 for account number %s.", bank.acc_number)) + if bank.proxy_type == 'mobile' and (not bank.proxy_value or not auto_mobn_re.match(bank.proxy_value)): + raise ValidationError(_("Invalid Mobile! Please enter a valid mobile number with format +852-67891234 for account number %s.", bank.acc_number)) + if bank.proxy_type == 'email' and (not bank.proxy_value or not single_email_re.match(bank.proxy_value)): + raise ValidationError(_("Invalid Email! Please enter a valid email address for account number %s.", bank.acc_number)) + + @api.depends('country_code') + def _compute_country_proxy_keys(self): + bank_hk = self.filtered(lambda b: b.country_code == 'HK') + bank_hk.country_proxy_keys = 'id,mobile,email' + super(ResPartnerBank, self - bank_hk)._compute_country_proxy_keys() + + @api.depends('country_code') + def _compute_display_qr_setting(self): + bank_hk = self.filtered(lambda b: b.country_code == 'HK') + bank_hk.display_qr_setting = True + super(ResPartnerBank, self - bank_hk)._compute_display_qr_setting() + + # Follow the documentation of FPS QR Code Standard [1] + # [1]: https://www.hkma.gov.hk/media/eng/doc/key-functions/financial-infrastructure/infrastructure/retail-payment-initiatives/Common_QR_Code_Specification.pdf + def _get_merchant_account_info(self): + if self.country_code == 'HK': + fps_type_mapping = { + 'id': 2, + 'mobile': 3, + 'email': 4, + } + fps_type = fps_type_mapping[self.proxy_type] + merchant_account_vals = [ + (0, 'hk.com.hkicl'), # GUID + (fps_type, self.proxy_value), # Proxy Type and Proxy Value + ] + merchant_account_info = ''.join([self._serialize(*val) for val in merchant_account_vals]) + return (26, merchant_account_info) + return super()._get_merchant_account_info() + + def _get_additional_data_field(self, comment): + if self.country_code == 'HK': + return self._serialize(5, comment) + return super()._get_additional_data_field(comment) + + def _get_error_messages_for_qr(self, qr_method, debtor_partner, currency): + if qr_method == 'emv_qr' and self.country_code == 'HK': + if currency.name not in ['HKD', 'CNY']: + return _("Can't generate a FPS QR code with a currency other than HKD or CNY.") + return None + + return super()._get_error_messages_for_qr(qr_method, debtor_partner, currency) + + def _check_for_qr_code_errors(self, qr_method, amount, currency, debtor_partner, free_communication, structured_communication): + if qr_method == 'emv_qr' and self.country_code == 'HK' and self.proxy_type not in ['id', 'mobile', 'email']: + return _("The FPS Type must be either ID, Mobile or Email to generate a FPS QR code.") + + return super()._check_for_qr_code_errors(qr_method, amount, currency, debtor_partner, free_communication, structured_communication) diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/template_hk.py b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/template_hk.py new file mode 100644 index 0000000..0556d50 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/models/template_hk.py @@ -0,0 +1,44 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import models +from odoo.addons.account.models.chart_template import template + + +class AccountChartTemplate(models.AbstractModel): + _inherit = 'account.chart.template' + + @template('hk') + def _get_hk_template_data(self): + return { + 'property_account_receivable_id': 'l10n_hk_1240', + 'property_account_payable_id': 'l10n_hk_2211', + 'code_digits': '6', + } + + @template('hk', 'res.company') + def _get_hk_res_company(self): + return { + self.env.company.id: { + 'anglo_saxon_accounting': True, + 'account_fiscal_country_id': 'base.hk', + 'bank_account_code_prefix': '1200', + 'cash_account_code_prefix': '1210', + 'transfer_account_code_prefix': '111220', + 'account_default_pos_receivable_account_id': 'l10n_hk_1243', + 'income_currency_exchange_account_id': 'l10n_hk_4240', + 'expense_currency_exchange_account_id': 'l10n_hk_5240', + 'account_journal_early_pay_discount_loss_account_id': 'l10n_hk_5250', + 'account_journal_early_pay_discount_gain_account_id': 'l10n_hk_4250', + 'income_account_id': 'l10n_hk_41', + 'expense_account_id': 'l10n_hk_51', + 'account_stock_journal_id': 'inventory_valuation', + 'account_stock_valuation_id': 'l10n_hk_1270', + }, + } + + @template('hk', 'account.account') + def _get_hk_account_account(self): + return { + 'l10n_hk_1270': { + 'account_stock_variation_id': 'l10n_hk_51', + }, + } diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/static/description/icon.png b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/static/description/icon.png deleted file mode 100644 index c59242e..0000000 Binary files a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/static/description/icon.png and /dev/null differ diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/static/description/icon.svg b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/static/description/icon.svg deleted file mode 100644 index 11533b9..0000000 --- a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/static/description/icon.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/tests/__init__.py b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/tests/__init__.py new file mode 100644 index 0000000..10890cf --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/tests/__init__.py @@ -0,0 +1 @@ +from . import test_l10n_hk_emv_qr diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/tests/test_l10n_hk_emv_qr.py b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/tests/test_l10n_hk_emv_qr.py new file mode 100644 index 0000000..cc6756d --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/tests/test_l10n_hk_emv_qr.py @@ -0,0 +1,120 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.exceptions import UserError +from odoo.fields import Command +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged + + +@tagged('post_install_l10n', 'post_install', '-at_install') +class TestL10nHKEmvQrCode(AccountTestInvoicingCommon): + """ Test the generation of the EMV QR Code on invoices """ + + @classmethod + def setup_armageddon_tax(cls, tax_name, company_data): + # Hong Kong doesn't have any tax, so this methods will throw errors if we don't return None + return None + + @classmethod + @AccountTestInvoicingCommon.setup_country('hk') + def setUpClass(cls): + super().setUpClass() + cls.company_data['company'].qr_code = True + cls.company_data['company'].partner_id.city = 'HK' + + cls.acc_emv_hk = cls.env['res.partner.bank'].create({ + 'acc_number': '123456789012345678', + 'partner_id': cls.company_data['company'].partner_id.id, + 'proxy_type': 'mobile', + 'proxy_value': '+852-67891234', + 'include_reference': True, + }) + + cls.acc_emv_hk_without_fps_info = cls.env['res.partner.bank'].create({ + 'acc_number': '1234567890', + 'partner_id': cls.company_data['company'].partner_id.id, + }) + + cls.emv_qr_invoice = cls.env['account.move'].create({ + 'move_type': 'out_invoice', + 'partner_id': cls.partner_a.id, + 'currency_id': cls.env.ref('base.HKD').id, + 'partner_bank_id': cls.acc_emv_hk.id, + 'company_id': cls.company_data['company'].id, + 'invoice_line_ids': [Command.create({'quantity': 1, 'price_unit': 100})], + }) + + cls.emv_qr_invoice_with_non_integer_amount = cls.env['account.move'].create({ + 'move_type': 'out_invoice', + 'partner_id': cls.partner_a.id, + 'currency_id': cls.env.ref('base.HKD').id, + 'partner_bank_id': cls.acc_emv_hk.id, + 'company_id': cls.company_data['company'].id, + 'invoice_line_ids': [Command.create({'quantity': 1, 'price_unit': 100.5})], + }) + + def test_emv_qr_code_generation(self): + self.emv_qr_invoice.qr_code_method = 'emv_qr' + self.emv_qr_invoice._generate_qr_code() + + # Using invoice currency other than HKD or CNY should fail + self.emv_qr_invoice.currency_id = self.env.ref('base.USD') + with self.assertRaises(UserError, msg="The chosen QR-code type is not eligible for this invoice."): + self.emv_qr_invoice._generate_qr_code() + + # Without company partner city should fail + self.emv_qr_invoice.currency_id = self.env.ref('base.HKD') + self.company_data['company'].partner_id.city = False + with self.assertRaises(UserError, msg="Missing Merchant City."): + self.emv_qr_invoice._generate_qr_code() + + # Without fps infomation should fail + self.company_data['company'].partner_id.city = 'HK' + self.emv_qr_invoice.partner_bank_id = self.acc_emv_hk_without_fps_info + with self.assertRaises(UserError, msg="The account receiving the payment must have a FPS type and a FPS identifier set."): + self.emv_qr_invoice._generate_qr_code() + + def test_emv_qr_vals(self): + self.emv_qr_invoice.qr_code_method = 'emv_qr' + demo_payment_reference = 'INV/TEST/0001' + emv_qr_vals = self.emv_qr_invoice.partner_bank_id._get_qr_vals( + qr_method=self.emv_qr_invoice.qr_code_method, + amount=self.emv_qr_invoice.amount_residual, + currency=self.emv_qr_invoice.currency_id, + debtor_partner=self.emv_qr_invoice.partner_id, + free_communication=demo_payment_reference, + structured_communication=demo_payment_reference, + ) + + # Check the whole qr code string + qr_code_string = ''.join(emv_qr_vals) + self.assertEqual(qr_code_string, '00020101021226330012hk.com.hkicl0313+852-6789123452040000530334454031005802HK5914company_1_data6002HK62170513INV/TEST/00016304A154') + + def test_emv_qr_vals_with_non_integer_amount(self): + self.emv_qr_invoice_with_non_integer_amount.qr_code_method = 'emv_qr' + unstruct_ref = 'INV/TEST/0002' + emv_qr_vals = self.emv_qr_invoice_with_non_integer_amount.partner_bank_id._get_qr_vals( + qr_method=self.emv_qr_invoice_with_non_integer_amount.qr_code_method, + amount=self.emv_qr_invoice_with_non_integer_amount.amount_residual, + currency=self.emv_qr_invoice_with_non_integer_amount.currency_id, + debtor_partner=self.emv_qr_invoice_with_non_integer_amount.partner_id, + free_communication=unstruct_ref, + structured_communication=self.emv_qr_invoice_with_non_integer_amount.payment_reference, + ) + + # Check the whole qr code string + self.assertEqual(emv_qr_vals, '00020101021226330012hk.com.hkicl0313+852-678912345204000053033445405100.55802HK5914company_1_data6002HK62170513INV/TEST/000263049E64') + + def test_invoice_default_code(self): + """ If no QR method is selected by default, and the country does not match, it should not be selecting the EMV QR method. """ + self.acc_emv_hk.country_code = 'NZ' + + self.assertIsNone(self.emv_qr_invoice._generate_qr_code()) + + def test_invoice_wrong_method(self): + """ If an EMV QR is selected on the invoice with a wrong country, it should raise errors messages. """ + self.acc_emv_hk.country_code = 'NZ' + self.emv_qr_invoice.qr_code_method = 'emv_qr' + + error_message = self.acc_emv_hk._get_error_messages_for_qr('emv_qr', self.partner_a, self.env.ref('base.HKD')) + self.assertIsNotNone(error_message) diff --git a/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/views/res_bank_views.xml b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/views/res_bank_views.xml new file mode 100644 index 0000000..4750c10 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_hk/l10n_hk/views/res_bank_views.xml @@ -0,0 +1,17 @@ + + + + + res.partner.bank.form.inherit + res.partner.bank + + + +

+ +

+
+
+
+ +
diff --git a/odoo-bringout-oca-ocb-l10n_hk/pyproject.toml b/odoo-bringout-oca-ocb-l10n_hk/pyproject.toml index 5dfd8d2..aa33f51 100644 --- a/odoo-bringout-oca-ocb-l10n_hk/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_hk/pyproject.toml @@ -1,12 +1,15 @@ [project] name = "odoo-bringout-oca-ocb-l10n_hk" version = "16.0.0" -description = "Hong Kong - Accounting - Odoo addon" +description = "Hong Kong - Accounting - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-account>=16.0.0", + "TODO_MAP-account_qr_code_emv>=19.0.0", + "odoo-bringout-oca-ocb-account>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -16,7 +19,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_id/README.md b/odoo-bringout-oca-ocb-l10n_id/README.md index 2db6e67..a27e93b 100644 --- a/odoo-bringout-oca-ocb-l10n_id/README.md +++ b/odoo-bringout-oca-ocb-l10n_id/README.md @@ -14,38 +14,16 @@ pip install odoo-bringout-oca-ocb-l10n_id ## Dependencies -This addon depends on: - account - base_iban - base_vat -- l10n_multilang - -## Manifest Information - -- **Name**: Indonesian - Accounting -- **Version**: 1.2 -- **Category**: Accounting/Localizations/Account Charts -- **License**: LGPL-3 -- **Installable**: False ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_id`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_id ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/__init__.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/__init__.py index 5409236..af0d029 100644 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/__init__.py @@ -1,9 +1,3 @@ -# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, SUPERUSER_ID from . import models - -def load_translations(cr, registry): - env = api.Environment(cr, SUPERUSER_ID, {}) - env.ref('l10n_id.l10n_id_chart').process_coa_translations() +from . import controllers diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/__manifest__.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/__manifest__.py index d198f90..2ff6dc8 100644 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/__manifest__.py @@ -1,9 +1,9 @@ -# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. - { 'name': 'Indonesian - Accounting', - 'version': '1.2', + 'icon': '/account/static/description/l10n.png', + 'countries': ['id'], + 'version': '1.3', 'category': 'Accounting/Localizations/Account Charts', 'description': """ This is the latest Indonesian Odoo localisation necessary to run Odoo accounting for SMEs with: @@ -11,19 +11,21 @@ This is the latest Indonesian Odoo localisation necessary to run Odoo accounting - generic Indonesian chart of accounts - tax structure""", 'author': 'vitraining.com', - 'website': 'http://www.vitraining.com', - 'depends': ['account', 'base_iban', 'base_vat', 'l10n_multilang'], + 'website': 'https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/indonesia.html', + 'depends': [ + 'account', + 'base_iban', + 'base_vat', + ], + 'auto_install': ['account'], 'data': [ - 'data/account_tax_group.xml', - 'data/account_chart_template_data.xml', - 'data/account.account.template.csv', - 'data/account_chart_template_post_data.xml', - 'data/account_tax_template_data.xml', - 'data/account_chart_template_configuration_data.xml', + 'security/ir.model.access.csv', + 'data/ir_cron.xml', + 'views/account_move_views.xml', + 'views/res_bank.xml', ], 'demo': [ 'demo/demo_company.xml', ], - 'post_init_hook': 'load_translations', 'license': 'LGPL-3', } diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/controllers/__init__.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/controllers/__init__.py new file mode 100644 index 0000000..8c3feb6 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/controllers/__init__.py @@ -0,0 +1 @@ +from . import portal diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/controllers/portal.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/controllers/portal.py new file mode 100644 index 0000000..28f3316 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/controllers/portal.py @@ -0,0 +1,13 @@ + +from odoo.addons.account.controllers.portal import PortalAccount +from odoo import http +from odoo.http import request + + +class Portal(PortalAccount): + @http.route() + def portal_my_invoice_detail(self, *args, **kw): + """ Override + force QR code generation from QRIS to come only from portal""" + request.update_context(is_online_qr=True) + return super().portal_my_invoice_detail(*args, **kw) diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account.account.template.csv b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account.account.template.csv deleted file mode 100644 index 2ef04a0..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account.account.template.csv +++ /dev/null @@ -1,108 +0,0 @@ -id,code,name,account_type,reconcile,chart_template_id:id -l10n_id_11110001,11110001,Cash,asset_cash,FALSE,l10n_id.l10n_id_chart -l10n_id_11110010,11110010,Petty Cash,asset_cash,FALSE,l10n_id.l10n_id_chart -l10n_id_11110020,11110020,Cash in Hand,asset_cash,FALSE,l10n_id.l10n_id_chart -l10n_id_11120001,11120001,Bank Suspense,liability_current,TRUE,l10n_id.l10n_id_chart -l10n_id_11120002,11120002,Outstanding Receipts,asset_current,TRUE,l10n_id.l10n_id_chart -l10n_id_11120003,11120003,Outstanding Payments,asset_current,TRUE,l10n_id.l10n_id_chart -l10n_id_11120004,11120004,Bank,asset_cash,FALSE,l10n_id.l10n_id_chart -l10n_id_11210010,11210010,Account Receivable,asset_receivable,TRUE,l10n_id.l10n_id_chart -l10n_id_11210011,11210011,Account Receivable (PoS),asset_receivable,TRUE,l10n_id.l10n_id_chart -l10n_id_11210020,11210020,Employee Liabilities,asset_current,TRUE,l10n_id.l10n_id_chart -l10n_id_11300180,11300180,Other Inventory,asset_current,FALSE,l10n_id.l10n_id_chart -l10n_id_11410010,11410010,Building Rent,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11410020,11410020,Prepaid Insurance,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11410030,11410030,Prepaid Advertisement-Free,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11510010,11510010,Prepaid Tax PPh 21,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11510020,11510020,Prepaid Tax Pph 22,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11510030,11510030,Prepaid Tax Pph 23,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11510040,11510040,Prepaid Tax Pph 25,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11510050,11510050,Prepaid Tax Pph 28A,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11510060,11510060,Prepaid Tax 4 (2),asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_11800000,11800000,Down Payment,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_12210010,12210010,Office Building,asset_fixed,FALSE,l10n_id.l10n_id_chart -l10n_id_12210020,12210020,Vehicle,asset_fixed,FALSE,l10n_id.l10n_id_chart -l10n_id_12210030,12210030,Office Supplies,asset_fixed,FALSE,l10n_id.l10n_id_chart -l10n_id_12281010,12281010,Accumulation Building Depreciation,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_12281020,12281020,Accumulation Vehicle Depreciation,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_12281030,12281030,Accumulation Office Supplies Depreciation,asset_prepayments,FALSE,l10n_id.l10n_id_chart -l10n_id_21100010,21100010,Trade Receivable,liability_payable,TRUE,l10n_id.l10n_id_chart -l10n_id_21100020,21100020,Shareholder Deposit,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21100030,21100030,Third-Party Deposit,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21100040,21100040,Salary Deposit,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21210010,21210010,Tax Payable Pph 21,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21210020,21210020,Tax Payable Pph 23,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21210030,21210030,Tax Payable Pph 25,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21210040,21210040,Tax Payable 4 (2),liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21210050,21210050,Tax Payable Pph 29,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21221010,21221010,VAT Purchase,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_21221020,21221020,VAT Sales,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_22110010,22110010,Bank Loan,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_22110020,22110020,Leasing Deposit,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110010,25110010,Accrued Payable Electricity,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110020,25110020,Accrued Payable Jamsostek,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110030,25110030,Accrued Payable Water,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110040,25110040,Accrued Payable Telp & Internet,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110050,25110050,Accrued Payable Security Management,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110060,25110060,Accrued Payable Bank,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110070,25110070,Accrued Payable PBB,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110080,25110080,Accrued Payable Business License,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110090,25110090,Accrued Payable Insurance,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110100,25110100,Accrued Payable Education,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_25110110,25110110,Accrued Payable Health Insurance/BPJS,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_28110010,28110010,Advance Sales,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_28110020,28110020,Customer Deposit,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_29000000,29000000,Interim Stock,liability_current,FALSE,l10n_id.l10n_id_chart -l10n_id_31100010,31100010,Authorized Capital,equity,FALSE,l10n_id.l10n_id_chart -l10n_id_31100020,31100020,Paid Capital,equity,FALSE,l10n_id.l10n_id_chart -l10n_id_31100030,31100030,Unpaid Capital,equity,FALSE,l10n_id.l10n_id_chart -l10n_id_31100040,31100040,Prive (Personal Retrieval),equity,FALSE,l10n_id.l10n_id_chart -l10n_id_31210010,31210010,Capital Reserves,equity,FALSE,l10n_id.l10n_id_chart -l10n_id_31510010,31510010,Past Profit & Loss,equity,FALSE,l10n_id.l10n_id_chart -l10n_id_31510020,31510020,Ongoing Profit & Loss,equity,FALSE,l10n_id.l10n_id_chart -l10n_id_39000000,39000000,Historical Balance,equity,TRUE,l10n_id.l10n_id_chart -l10n_id_41000010,41000010,Sales,income,FALSE,l10n_id.l10n_id_chart -l10n_id_42000060,42000060,Sales Refund,income,FALSE,l10n_id.l10n_id_chart -l10n_id_42000070,42000070,Sales Discount,income,FALSE,l10n_id.l10n_id_chart -l10n_id_51000010,51000010,Cost of Goods Sold,expense_direct_cost,FALSE,l10n_id.l10n_id_chart -l10n_id_61100010,61100010,Employee Salary,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_61100020,61100020,Employee Bonus / Benefits,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_61100030,61100030,Employee Overtime Pay,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_61100100,61100100,Pph 21 Benefit,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_63110060,63110060,Phone,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_63110080,63110080,Electricity,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_63110100,63110100,Research & Development,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_63110120,63110120,Office Equipment,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_64110020,64110020,Post Necessities,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_63110140,63110140,Other Necessities,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110010,65110010,Licensing Fees,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110020,65110020,Bank Administration Fees,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110030,65110030,Consultant Fees,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110040,65110040,Rental Costs,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110050,65110050,Insurance Costs,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110060,65110060,Building Maintenance Costs,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110070,65110070,Taxes,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110080,65110080,Asset Maintenance Costs,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_65110090,65110090,Shipping Costs,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_66110010,66110010,Vehicle Fuel,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_66110020,66110020,Vehicle Service,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_66110030,66110030,Vehicle Parking & Toll Fee,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_66110040,66110040,Vehicle Taxes,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_66110050,66110050,Vehicle Insurance,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_67100010,67100010,Office Building,expense_depreciation,FALSE,l10n_id.l10n_id_chart -l10n_id_67100020,67100020,Vehicle,expense_depreciation,FALSE,l10n_id.l10n_id_chart -l10n_id_67100030,67100030,Office Supplies,expense_depreciation,FALSE,l10n_id.l10n_id_chart -l10n_id_69000000,69000000,Other Expenses,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_81100010,81100010,Interest Income,income_other,FALSE,l10n_id.l10n_id_chart -l10n_id_81100020,81100020,Deposit Income,income_other,FALSE,l10n_id.l10n_id_chart -l10n_id_81100030,81100030,Foreign Exchange Gain,income_other,FALSE,l10n_id.l10n_id_chart -l10n_id_81100040,81100040,Other Income,income_other,FALSE,l10n_id.l10n_id_chart -l10n_id_81100050,81100050,Gain on Sale of Fixed Assets,income_other,FALSE,l10n_id.l10n_id_chart -l10n_id_91100010,91100010,Interest Expense,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_91100020,91100020,Foreign Exchange Loss,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_91100030,91100030,Loss on Sale of Fixed Assets,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_99900001,99900001,Cash Difference Loss,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_99900002,99900002,Cash Difference Gain,income,FALSE,l10n_id.l10n_id_chart -l10n_id_99900003,99900003,Cash Discount Loss,expense,FALSE,l10n_id.l10n_id_chart -l10n_id_99900004,99900004,Cash Discount Gain,income_other,FALSE,l10n_id.l10n_id_chart -l10n_id_999999,999999,Undistributed Profits/Losses,equity_unaffected,FALSE,l10n_id.l10n_id_chart diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_configuration_data.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_configuration_data.xml deleted file mode 100644 index 0a87f30..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_configuration_data.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_data.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_data.xml deleted file mode 100644 index 0f7516a..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_data.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - Indonesian Account Chart Template - 1112 - 1111 - 1999999 - 8 - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_post_data.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_post_data.xml deleted file mode 100644 index 85859ab..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_chart_template_post_data.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_tax_group.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_tax_group.xml deleted file mode 100644 index 682f063..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_tax_group.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Luxury Good Taxes - 1 - - - - Non-luxury Good Taxes - 2 - - - - Zero-rated Taxes - 3 - - - - Tax Exempted - 4 - - - diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_tax_template_data.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_tax_template_data.xml deleted file mode 100644 index 03bccd7..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/account_tax_template_data.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - PPN - 08 - taxes - - - - 12% - - - sale - 11% - percent - 11.0 - - - - - 12% - - - purchase - 11% - percent - 11.0 - - - - - 0% - - - sale - 0% - percent - 0 - - - - - 0% - - - sale - Exempt - percent - 0 - - - - - 0% - - - purchase - Exempt - percent - 0 - - - - - 0% - - - purchase - 0% - percent - 0 - - - - - 12% - - - sale - 12% - percent - 12.0 - - - - - 12% - - - purchase - 12% - percent - 12.0 - - - - - 20% (Luxury Goods) - - sale - 20% - percent - - 20.0 - - - - diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/ir_cron.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/ir_cron.xml new file mode 100644 index 0000000..281decc --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/ir_cron.xml @@ -0,0 +1,12 @@ + + + + QRIS Fetch Status + + 1 + hours + + code + model._l10n_id_cron_update_payment_status() + + diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.account-id.csv b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.account-id.csv new file mode 100644 index 0000000..51e2b8b --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.account-id.csv @@ -0,0 +1,115 @@ +"id","code","name","account_type","reconcile","name@id","non_trade" +"l10n_id_11110001","11110001","Cash","asset_cash","False","","" +"l10n_id_11110010","11110010","Petty Cash","asset_cash","False","Kas Kecil","" +"l10n_id_11120001","11120001","Bank","asset_cash","False","","" +"l10n_id_11210010","11210010","Account Receivable","asset_receivable","True","Piutang Usaha","" +"l10n_id_11210011","11210011","Account Receivable (PoS)","asset_receivable","True","Piutang Usaha (PoS)","" +"l10n_id_11210012","11210012","VAT Receivable","asset_receivable","True","","True" +"l10n_id_11210013","11210013","STLG Receivable","asset_receivable","True","","True" +"l10n_id_11210014","11210014","PPh 28A Prepaid","asset_receivable","True","","True" +"l10n_id_11210030","11210030","VAT Purchase","asset_current","False","","" +"l10n_id_11210040","11210040","Prepaid Expense","asset_current","False","","" +"l10n_id_11300180","11300180","Inventory","asset_current","False","Persediaan Lainnya","" +"l10n_id_11410010","11410010","Building Rent","asset_prepayments","False","Sewa Bangunan","" +"l10n_id_11410020","11410020","Prepaid Insurance","asset_prepayments","False","Asuransi Dibayar Dimuka","" +"l10n_id_11410030","11410030","Prepaid Advertisement-Free","asset_prepayments","False","Beban Iklan Dibayar Dimuka","" +"l10n_id_11510010","11510010","Prepaid Tax PPh 21","asset_prepayments","False","","" +"l10n_id_11510020","11510020","Prepaid Tax Pph 22","asset_prepayments","False","Pajak Dibayar Dimuka PPH 22","" +"l10n_id_11510030","11510030","Prepaid Tax Pph 23","asset_prepayments","False","Pajak Dibayar Dimuka PPH 23","" +"l10n_id_11510040","11510040","Prepaid Tax Pph 25","asset_prepayments","False","Pajak Dibayar Dimuka PPH 25","" +"l10n_id_11800000","11800000","Down Payment","asset_prepayments","False","Uang Muka Pembelian","" +"l10n_id_12210010","12210010","Office Building","asset_fixed","False","Bangunan Kantor","" +"l10n_id_12210020","12210020","Vehicle","asset_fixed","False","Kendaraan","" +"l10n_id_12210030","12210030","Office Supplies","asset_fixed","False","Peralatan Kantor","" +"l10n_id_12281010","12281010","Accumulation Building Depreciation","asset_fixed","False","Akumulasi Penyusutan Bangunan Kantor","" +"l10n_id_12281020","12281020","Accumulation Vehicle Depreciation","asset_fixed","False","Akumulasi Penyusutan Kendaraan","" +"l10n_id_12281030","12281030","Accumulation Office Supplies Depreciation","asset_fixed","False","Akumulasi Penyusutan Peralatan Kantor","" +"l10n_id_21100010","21100010","Account Payable","liability_payable","True","Hutang Usaha","" +"l10n_id_21100011","21100011","VAT Payable","liability_payable","True","","True" +"l10n_id_21100012","21100012","STLG Payable","liability_payable","True","","True" +"l10n_id_21100013","21100013","Employee Liabilities","liability_current","True","Piutang Karyawan","" +"l10n_id_21100014","21100014","Tax Payable PPh 29","liability_payable","True","","True" +"l10n_id_21100020","21100020","Shareholder Deposit","liability_current","False","Hutang Pemegang Saham","" +"l10n_id_21100030","21100030","Third-Party Deposit","liability_current","False","Hutang Pihak Ketiga","" +"l10n_id_21100040","21100040","Salary Deposit","liability_current","False","Hutang Gaji","" +"l10n_id_21210010","21210010","Tax Payable PPh 21","liability_current","True","Hutang Pajak PPh 21","" +"l10n_id_21210020","21210020","Tax Payable PPh 22","liability_current","True","Hutang Pajak PPh 22","" +"l10n_id_21210030","21210030","Tax Payable PPh 23","liability_current","True","Hutang Pajak PPh 23","" +"l10n_id_21210040","21210040","Tax Payable PPh 25","liability_current","True","Hutang Pajak PPh 25","" +"l10n_id_21210050","21210050","Tax Payable 4(2)","liability_current","True","Hutang Pajak Pasal 4 (2)","" +"l10n_id_21210060","21210060","Tax Payable PPh 26","liability_current","True","Hutang Pajak PPh 26","" +"l10n_id_21221010","21221010","VAT Sales","liability_current","False","PPN Pembelian","" +"l10n_id_22110010","22110010","Bank Loan","liability_current","False","Hutang Bank","" +"l10n_id_22110020","22110020","Leasing Deposit","liability_current","False","Hutang Leasing","" +"l10n_id_25110010","25110010","Accrued Payable Electricity","liability_current","False","BYMHD Listrik","" +"l10n_id_25110020","25110020","Accrued Payable Jamsostek","liability_current","False","BYMHD Jamsostek","" +"l10n_id_25110030","25110030","Accrued Payable Water","liability_current","False","BYMHD Air","" +"l10n_id_25110040","25110040","Accrued Payable Telp & Internet","liability_current","False","BYMHD Telepon","" +"l10n_id_25110050","25110050","Accrued Payable Security Management","liability_current","False","BYMHD Jasa Pengelola Keamanan","" +"l10n_id_25110060","25110060","Accrued Payable Bank","liability_current","False","BYMHD Bank","" +"l10n_id_25110070","25110070","Accrued Payable PBB","liability_current","False","BYMHD PBB","" +"l10n_id_25110080","25110080","Accrued Payable Business License","liability_current","False","BYMHD Izin Usaha","" +"l10n_id_25110090","25110090","Accrued Payable Insurance","liability_current","False","BYMHD Asuransi","" +"l10n_id_25110100","25110100","Accrued Payable Education","liability_current","False","BYMHD Pendidikan dan Latihan","" +"l10n_id_25110110","25110110","Accrued Payable Health Insurance/BPJS","liability_current","False","BYMHD Jaminan Kesehatan/BPJS","" +"l10n_id_28110010","28110010","Advance Sales","liability_current","False","Uang Muka Penjualan","" +"l10n_id_28110020","28110020","Customer Deposit","liability_current","False","Deposit Customer","" +"l10n_id_28110030","28110030","Deferred Revenue","liability_current","False","","" +"l10n_id_29000000","29000000","Interim Stock","liability_current","False","Stok Interim","" +"l10n_id_31100010","31100010","Authorized Capital","equity","False","Modal Dasar","" +"l10n_id_31100020","31100020","Paid Capital","equity","False","Modal Yang Disetor","" +"l10n_id_31100030","31100030","Unpaid Capital","equity","False","Modal Yang Belum Disetor","" +"l10n_id_31100040","31100040","Prive (Personal Retrieval)","equity","False","Prive (Pengambilan Pribadi)","" +"l10n_id_31210010","31210010","Capital Reserves","equity","False","Cadangan Modal","" +"l10n_id_31510010","31510010","Past Profit & Loss","equity","False","Laba Rugi Tahun Lalu","" +"l10n_id_31510020","31510020","Ongoing Profit & Loss","equity","False","Laba Rugi Tahun Berjalan","" +"l10n_id_39000000","39000000","Historical Balance","equity","True","Historical Balance","" +"l10n_id_41000010","41000010","Sales","income","False","Penjualan","" +"l10n_id_42000060","42000060","Sales Refund","income","False","Retur Penjualan","" +"l10n_id_42000070","42000070","Sales Discount","income","False","Discount Penjualan","" +"l10n_id_42500010","42500010","Change in Inventory","expense","False","Perubahan Persediaan","" +"l10n_id_51000010","51000010","Cost of Goods Sold","expense_direct_cost","False","Harga Pokok Penjualan","" +"l10n_id_51000020","51000020","Purchases - Raw Materials","expense","False","Pembelian Bahan Baku","" +"l10n_id_61100010","61100010","Employee Salary","expense","False","Gaji Karyawan","" +"l10n_id_61100020","61100020","Employee Bonus / Benefits","expense","False","Tunjangan/ Bonus Karyawan","" +"l10n_id_61100030","61100030","Employee Overtime Pay","expense","False","Lembur Karyawan","" +"l10n_id_61100100","61100100","Pph 21 Benefit","expense","False","Tunjangan PPH Pasal 21","" +"l10n_id_61100110","61100110","PPh 22 Final","expense","False","","" +"l10n_id_61100120","61100120","PPh 4(2) Final","expense","False","","" +"l10n_id_63110060","63110060","Phone","expense","False","Telepon","" +"l10n_id_63110080","63110080","Electricity","expense","False","Listrik","" +"l10n_id_63110100","63110100","Research & Development","expense","False","Research & Development","" +"l10n_id_63110120","63110120","Office Equipment","expense","False","Perlengkapan Kantor","" +"l10n_id_64110020","64110020","Post Necessities","expense","False","Keperluan Pos","" +"l10n_id_63110140","63110140","Other Necessities","expense","False","Keperluan Lain-lain","" +"l10n_id_65110010","65110010","Licensing Fees","expense","False","Biaya Perizinan","" +"l10n_id_65110020","65110020","Bank Administration Fees","expense","False","Biaya Administrasi Bank","" +"l10n_id_65110030","65110030","Consultant Fees","expense","False","Biaya Konsultan","" +"l10n_id_65110040","65110040","Rental Costs","expense","False","Biaya Sewa","" +"l10n_id_65110050","65110050","Insurance Costs","expense","False","","" +"l10n_id_65110060","65110060","Building Maintenance Costs","expense","False","Biaya Pemeliharaan & Perawatan Gedung","" +"l10n_id_65110070","65110070","Income Tax Expenses (CIT)","expense","False","Pajak","" +"l10n_id_65110080","65110080","Asset Maintenance Costs","expense","False","Biaya Pemeliharaan & Perawatan Aset","" +"l10n_id_65110090","65110090","Shipping Costs","expense","False","Biaya Pengiriman Dokumen/Barang","" +"l10n_id_66110010","66110010","Vehicle Fuel","expense","False","BBM kendaraan","" +"l10n_id_66110020","66110020","Vehicle Service","expense","False","Service kendaraan","" +"l10n_id_66110030","66110030","Vehicle Parking & Toll Fee","expense","False","Parkir & tol kendaraan","" +"l10n_id_66110040","66110040","Vehicle Taxes","expense","False","Pajak Kendaraan","" +"l10n_id_66110050","66110050","Vehicle Insurance","expense","False","Asuransi Kendaraan","" +"l10n_id_67100010","67100010","Office Building","expense_depreciation","False","Bangunan Kantor","" +"l10n_id_67100020","67100020","Vehicle","expense_depreciation","False","Kendaraan","" +"l10n_id_67100030","67100030","Office Supplies","expense_depreciation","False","Peralatan Kantor","" +"l10n_id_69000000","69000000","Other Expenses","expense","False","Biaya Lain-lain","" +"l10n_id_81100010","81100010","Interest Income","income_other","False","Pendapatan Bunga","" +"l10n_id_81100020","81100020","Deposit Income","income_other","False","Pendapatan Deposit","" +"l10n_id_81100030","81100030","Foreign Exchange Gain","income_other","False","Keuntungan Selisih Kurs","" +"l10n_id_81100040","81100040","Other Income","income_other","False","Pendapatan lainnya","" +"l10n_id_81100050","81100050","Gain on Sale of Fixed Assets","income_other","False","Keuntungan Atas Penjualan Aktiva Tetap","" +"l10n_id_91100010","91100010","Interest Expense","expense","False","Beban Bunga","" +"l10n_id_91100020","91100020","Foreign Exchange Loss","expense","False","Kerugian Selisih Kurs","" +"l10n_id_91100030","91100030","Loss on Sale of Fixed Assets","expense","False","Kerugian Atas Penjualan Aktiva Tetap","" +"l10n_id_99900001","99900001","Cash Difference Loss","expense","False","","" +"l10n_id_99900002","99900002","Cash Difference Gain","income","False","","" +"l10n_id_99900003","99900003","Cash Discount Loss","expense","False","","" +"l10n_id_99900004","99900004","Cash Discount Gain","income_other","False","","" +"l10n_id_999999","999999","Undistributed Profits/Losses","equity_unaffected","False","","" diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.tax-id.csv b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.tax-id.csv new file mode 100644 index 0000000..5fe9923 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.tax-id.csv @@ -0,0 +1,79 @@ +"id","active","description","is_base_affected","invoice_label","type_tax_use","tax_group_id","name","amount_type","amount","repartition_line_ids/repartition_type","repartition_line_ids/tag_ids","repartition_line_ids/factor_percent","repartition_line_ids/document_type","repartition_line_ids/account_id" +"tax_ST4","","Taxable Goods Other Than Luxury Goods","","12%","sale","l10n_id_tax_group_non_luxury_goods","12% (Non-Luxury Good)","percent","11.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"tax_PT4","","Standard Rate for Non-Luxury Goods & Services","","12%","purchase","l10n_id_tax_group_non_luxury_goods","12% (Non-Luxury Good)","percent","11.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_11210030" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_11210030" +"tax_ST3","","Taxable Luxury Goods","","12%","sale","l10n_id_tax_group_luxury_goods","12%","percent","12.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"tax_PT3","","Standard Rate for Luxury Goods & Services","","12%","purchase","l10n_id_tax_group_luxury_goods","12%","percent","12.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_11210030" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_11210030" +"tax_luxury_sales","","Sales Tax on Luxury Goods (STLG)","False","20%","sale","l10n_id_tax_group_stlg","20% (STLG)","percent","20.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"tax_ST5","","Taxable Goods Other Than Luxury Goods to Collectors","","12%","sale","l10n_id_tax_group_non_luxury_goods","12% Pemungut PPN (Non-Luxury Good)","percent","11.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","tax","","-100","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"","","","","","","","","","","tax","","-100","refund","l10n_id_21221010" +"tax_ST6","","Luxury Goods to Collectors","","12%","sale","l10n_id_tax_group_luxury_goods","12% Pemungut PPN","percent","12.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","tax","","-100","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"","","","","","","","","","","tax","","-100","refund","l10n_id_21221010" +"tax_luxury_sales_pemungut_ppn","","Sales Tax on Luxury Goods (STLG) to Collectors","False","20%","sale","l10n_id_tax_group_stlg","20% Pemungut PPN (STLG)","percent","20.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","tax","","-100","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"","","","","","","","","","","tax","","-100","refund","l10n_id_21221010" +"tax_ST0","","VAT Not Collected","","0%","sale","l10n_id_tax_group_0","0%","percent","0.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"tax_ST7","","Export","","0%","sale","l10n_id_tax_group_0","0% EXPORT","percent","0.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"tax_ST2","","Exempt","","0%","sale","l10n_id_tax_group_exempt","0% EXEMPT","percent","0.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"tax_PT0","","Zero-Rated","","0%","purchase","l10n_id_tax_group_0","0%","percent","0.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_11210030" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_11210030" +"tax_PT2","","Exempt","","0%","purchase","l10n_id_tax_group_exempt","0% EXEMPT","percent","0.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_11210030" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_11210030" +"tax_PT5","","Sales Tax on Luxury Goods (STLG)","False","20%","purchase","l10n_id_tax_group_stlg","20% (STLG)","percent","20.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_11210030" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_11210030" +"tax_PT6","","Non-Creditable Standard Rate Input VAT","","12%","purchase","l10n_id_tax_group_non_luxury_goods","12% NCR","percent","0.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_11210030" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_11210030" +"tax_PT7","","Creditable Input VAT from Imports and Foreign Sources","","12%","purchase","l10n_id_tax_group_non_luxury_goods","12% IM","percent","11.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_11210030" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_11210030" +"tax_ST1","False","ST1","","12%","sale","l10n_id_tax_group_non_luxury_goods","11%","percent","11.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_21221010" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_21221010" +"tax_PT1","False","PT1","","12%","purchase","l10n_id_tax_group_non_luxury_goods","11%","percent","11.0","base","","","invoice","" +"","","","","","","","","","","tax","","","invoice","l10n_id_11210030" +"","","","","","","","","","","base","","","refund","" +"","","","","","","","","","","tax","","","refund","l10n_id_11210030" diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.tax.group-id.csv b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.tax.group-id.csv new file mode 100644 index 0000000..4d76edd --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/data/template/account.tax.group-id.csv @@ -0,0 +1,7 @@ +"id","country_id","name","name@id","tax_payable_account_id","tax_receivable_account_id" +"default_tax_group","base.id","Taxes","Pajak","l10n_id_21100011","l10n_id_11210012" +"l10n_id_tax_group_luxury_goods","base.id","Luxury Good Taxes","Pajak Barang Mewah","l10n_id_21100011","l10n_id_11210012" +"l10n_id_tax_group_non_luxury_goods","base.id","Non-luxury Good Taxes","Pajak Barang","l10n_id_21100011","l10n_id_11210012" +"l10n_id_tax_group_0","base.id","Zero-rated Taxes","Pajak Nol","l10n_id_21100011","l10n_id_11210012" +"l10n_id_tax_group_exempt","base.id","Tax Exempted","Bebas Pajak","l10n_id_21100011","l10n_id_11210012" +"l10n_id_tax_group_stlg","base.id","SLTG","Pajak Barang Mewah","l10n_id_21100012","l10n_id_11210013" diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/demo/demo_company.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/demo/demo_company.xml index a77cbf7..39e7ca1 100644 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/demo/demo_company.xml +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/demo/demo_company.xml @@ -1,6 +1,6 @@ - + ID Company 1234567890123456 AE @@ -11,24 +11,27 @@ +62 812-345-678 info@company.idexample.com www.idexample.com + - + ID Company - + - + - + - - + + id + + diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n/id.po b/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n/id.po new file mode 100644 index 0000000..ff79283 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n/id.po @@ -0,0 +1,229 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_id +# +# Weblate , 2025. +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.1alpha1+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-13 19:02+0000\n" +"PO-Revision-Date: 2025-11-17 03:12+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12.2\n" + +#. module: l10n_id +#: model:ir.model,name:l10n_id.model_account_chart_template +msgid "Account Chart Template" +msgstr "Templat Bagan Akun" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__bank_id +msgid "Bank" +msgstr "Bank" + +#. module: l10n_id +#: model:ir.model,name:l10n_id.model_res_partner_bank +msgid "Bank Accounts" +msgstr "Rekening Bank" + +#. module: l10n_id +#: model:ir.model.fields,help:l10n_id.field_l10n_id_qris_transaction__bank_id +msgid "Bank used to generate the current QRIS transaction" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/template_id.py:0 +msgid "Cash" +msgstr "" + +#. module: l10n_id +#: model:ir.actions.server,name:l10n_id.action_fetch_qris_status +msgid "Check QRIS Payment Status" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "" +"Communication with QRIS failed. QRIS returned with the following error: %s" +msgstr "Komunikasi dengan QRIS gagal. QRIS kembali dengan error berikut: %s" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "Could not establish a connection to the QRIS API." +msgstr "Gagal membuat sambungan ke API" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__create_uid +msgid "Created by" +msgstr "Dibuat oleh" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__create_date +msgid "Created on" +msgstr "Dibuat pada" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_id.field_account_move__display_name +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__display_name +#: model:ir.model.fields,field_description:l10n_id.field_res_partner_bank__display_name +msgid "Display Name" +msgstr "Nama Tampilan" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_id.field_account_move__id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__id +#: model:ir.model.fields,field_description:l10n_id.field_res_partner_bank__id +msgid "ID" +msgstr "ID" + +#. module: l10n_id +#: model:ir.model,name:l10n_id.model_account_move +msgid "Journal Entry" +msgstr "Entri Jurnal" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_bank_statement_line__l10n_id_qris_transaction_ids +#: model:ir.model.fields,field_description:l10n_id.field_account_move__l10n_id_qris_transaction_ids +msgid "L10N Id Qris Transaction" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__write_uid +msgid "Last Updated by" +msgstr "Terakhir Diperbarui oleh" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__write_date +msgid "Last Updated on" +msgstr "Terakhir Diperbarui pada" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__model +msgid "Model" +msgstr "Model" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__model_id +msgid "Model ID" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__paid +msgid "Paid" +msgstr "Lunas" + +#. module: l10n_id +#: model:ir.model.fields,help:l10n_id.field_l10n_id_qris_transaction__paid +msgid "Payment Status of QRIS" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "QRIS" +msgstr "QRIS" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_setup_bank_manual_config__l10n_id_qris_api_key +#: model:ir.model.fields,field_description:l10n_id.field_res_partner_bank__l10n_id_qris_api_key +msgid "QRIS API Key" +msgstr "" + +#. module: l10n_id +#: model:ir.actions.server,name:l10n_id.qris_fetch_cron_ir_actions_server +msgid "QRIS Fetch Status" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_setup_bank_manual_config__l10n_id_qris_mid +#: model:ir.model.fields,field_description:l10n_id.field_res_partner_bank__l10n_id_qris_mid +msgid "QRIS Merchant ID" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/qris_transaction.py:0 +msgid "QRIS capability is not extended to model %s yet!" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__qris_amount +msgid "Qris Amount" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__qris_content +msgid "Qris Content" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__qris_creation_datetime +msgid "Qris Creation Datetime" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__qris_invoice_id +msgid "Qris Invoice" +msgstr "" + +#. module: l10n_id +#: model:ir.model,name:l10n_id.model_l10n_id_qris_transaction +msgid "Record of QRIS transactions" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "The amount must be set to generate a QR code." +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/account_move.py:0 +msgid "" +"This invoice was paid by %(customer)s using QRIS with the payment method %" +"(method)s." +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/account_move.py:0 +msgid "This invoice was paid using QRIS." +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "" +"To use QRIS QR code, Please setup the QRIS API Key and Merchant ID on the " +"bank's configuration" +msgstr "" +"Untuk menggunakan QRIS QR, dipersilahkan untuk menyelesaikan setup QRIS di " +"halaman konfigurasi bank" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "" +"You cannot generate a QRIS QR code with a bank account that is not in " +"Indonesia." +msgstr "Anda tidak boleh membuat kode QR QRIS dari Bank di luar Indonesia." + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "You cannot generate a QRIS QR code with a currency other than IDR" +msgstr "Kode QRIS hanya berlaku untuk mata uang Rupiah" diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n/l10n_id.pot b/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n/l10n_id.pot new file mode 100644 index 0000000..d16a8a5 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n/l10n_id.pot @@ -0,0 +1,223 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_id +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-13 19:02+0000\n" +"PO-Revision-Date: 2026-02-13 19:02+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_id +#: model:ir.model,name:l10n_id.model_account_chart_template +msgid "Account Chart Template" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__bank_id +msgid "Bank" +msgstr "" + +#. module: l10n_id +#: model:ir.model,name:l10n_id.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,help:l10n_id.field_l10n_id_qris_transaction__bank_id +msgid "Bank used to generate the current QRIS transaction" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/template_id.py:0 +msgid "Cash" +msgstr "" + +#. module: l10n_id +#: model:ir.actions.server,name:l10n_id.action_fetch_qris_status +msgid "Check QRIS Payment Status" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "" +"Communication with QRIS failed. QRIS returned with the following error: %s" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "Could not establish a connection to the QRIS API." +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_id.field_account_move__display_name +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__display_name +#: model:ir.model.fields,field_description:l10n_id.field_res_partner_bank__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_id.field_account_move__id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__id +#: model:ir.model.fields,field_description:l10n_id.field_res_partner_bank__id +msgid "ID" +msgstr "" + +#. module: l10n_id +#: model:ir.model,name:l10n_id.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_bank_statement_line__l10n_id_qris_transaction_ids +#: model:ir.model.fields,field_description:l10n_id.field_account_move__l10n_id_qris_transaction_ids +msgid "L10N Id Qris Transaction" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__model +msgid "Model" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__model_id +msgid "Model ID" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__paid +msgid "Paid" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,help:l10n_id.field_l10n_id_qris_transaction__paid +msgid "Payment Status of QRIS" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "QRIS" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_setup_bank_manual_config__l10n_id_qris_api_key +#: model:ir.model.fields,field_description:l10n_id.field_res_partner_bank__l10n_id_qris_api_key +msgid "QRIS API Key" +msgstr "" + +#. module: l10n_id +#: model:ir.actions.server,name:l10n_id.qris_fetch_cron_ir_actions_server +msgid "QRIS Fetch Status" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_account_setup_bank_manual_config__l10n_id_qris_mid +#: model:ir.model.fields,field_description:l10n_id.field_res_partner_bank__l10n_id_qris_mid +msgid "QRIS Merchant ID" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/qris_transaction.py:0 +msgid "QRIS capability is not extended to model %s yet!" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__qris_amount +msgid "Qris Amount" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__qris_content +msgid "Qris Content" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__qris_creation_datetime +msgid "Qris Creation Datetime" +msgstr "" + +#. module: l10n_id +#: model:ir.model.fields,field_description:l10n_id.field_l10n_id_qris_transaction__qris_invoice_id +msgid "Qris Invoice" +msgstr "" + +#. module: l10n_id +#: model:ir.model,name:l10n_id.model_l10n_id_qris_transaction +msgid "Record of QRIS transactions" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "The amount must be set to generate a QR code." +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/account_move.py:0 +msgid "" +"This invoice was paid by %(customer)s using QRIS with the payment method " +"%(method)s." +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/account_move.py:0 +msgid "This invoice was paid using QRIS." +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "" +"To use QRIS QR code, Please setup the QRIS API Key and Merchant ID on the " +"bank's configuration" +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "" +"You cannot generate a QRIS QR code with a bank account that is not in " +"Indonesia." +msgstr "" + +#. module: l10n_id +#. odoo-python +#: code:addons/l10n_id/models/res_bank.py:0 +msgid "You cannot generate a QRIS QR code with a currency other than IDR" +msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n_extra/id.po b/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n_extra/id.po deleted file mode 100644 index 297806b..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n_extra/id.po +++ /dev/null @@ -1,849 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * l10n_id -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 13.0+e\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-03 12:38+0000\n" -"PO-Revision-Date: 2019-12-03 12:38+0000\n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: \n" - -#. module: l10n_id -#: model:account.tax.template,name:l10n_id.tax_PT1 -#: model:account.tax.template,name:l10n_id.tax_ST1 -msgid "11%" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_121001 -msgid "Account Receivable" -msgstr "Piutang Usaha" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_1210011 -msgid "Account Receivable (PoS)" -msgstr "Piutang Usaha (PoS)" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511006 -msgid "Accrued Payable Bank" -msgstr "BYMHD Bank" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511008 -msgid "Accrued Payable Business License" -msgstr "BYMHD Izin Usaha" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511010 -msgid "Accrued Payable Education" -msgstr "BYMHD Pendidikan dan Latihan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511001 -msgid "Accrued Payable Electricity" -msgstr "BYMHD Listrik" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511011 -msgid "Accrued Payable Health Insurance/BPJS" -msgstr "BYMHD Jaminan Kesehatan/BPJS" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511009 -msgid "Accrued Payable Insurance" -msgstr "BYMHD Asuransi" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511002 -msgid "Accrued Payable Jamsostek" -msgstr "BYMHD Jamsostek" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511007 -msgid "Accrued Payable PBB" -msgstr "BYMHD PBB" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511005 -msgid "Accrued Payable Security Management" -msgstr "BYMHD Jasa Pengelola Keamanan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511004 -msgid "Accrued Payable Telp & Internet" -msgstr "BYMHD Telepon" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511003 -msgid "Accrued Payable Water" -msgstr "BYMHD Air" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228101 -msgid "Accumulation Building Depreciation" -msgstr "Akumulasi Penyusutan Bangunan Kantor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228105 -msgid "Accumulation Office Furniture Depreciation" -msgstr "Akumulasi Penyusutan Furnitur Kantor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228103 -msgid "Accumulation Office Supplies Depreciation" -msgstr "Akumulasi Penyusutan Peralatan Kantor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228104 -msgid "Accumulation Software Depreciation" -msgstr "Akumulasi Penyusutan Software" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228102 -msgid "Accumulation Vehicle Depreciation" -msgstr "Akumulasi Penyusutan Kendaraan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_811001 -msgid "Advance Sales" -msgstr "Uang Muka Penjualan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_211003 -msgid "Advertising" -msgstr "Advertising" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511010 -msgid "Asset Maintenance Costs" -msgstr "Biaya Pemeliharaan & Perawatan Aset" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_110001 -msgid "Authorized Capital" -msgstr "Modal Dasar" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112005 -msgid "BCA" -msgstr "BCA" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112004 -msgid "BNI" -msgstr "BNI" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112006 -msgid "BNI Giro" -msgstr "BNI Giro" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_9_110002 -msgid "Bank Administration Expense" -msgstr "Beban Administrasi Bank" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511002 -msgid "Bank Administration Fees" -msgstr "Biaya Administrasi Bank" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_211001 -msgid "Bank Loan" -msgstr "Hutang Bank" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_811003 -msgid "Bonus Point" -msgstr "Poin Bonus" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130012 -msgid "Book, Office Stationery, Accessories Inventory" -msgstr "Persediaan Buku, ATK, Asesoris" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511006 -msgid "Building Maintenance Costs" -msgstr "Biaya Pemeliharaan & Perawatan Gedung" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_141001 -msgid "Building Rent" -msgstr "Sewa Bangunan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112002 -msgid "Business Mandiri" -msgstr "Mandiri Bisnis" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_121001 -msgid "Capital Reserves" -msgstr "Cadangan Modal" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_111002 -msgid "Cash in Hand" -msgstr "Kas Belum Disetor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130007 -msgid "Cigarette Inventory" -msgstr "Persediaan Rokok" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311016 -msgid "Cleaning Equipment" -msgstr "Perlengkapan Kebersihan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130014 -msgid "Cleaning Supplies Inventory" -msgstr "Persediaan Perlengkapan Kebersihan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511003 -msgid "Consultant Fees" -msgstr "Biaya Konsultan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_5_100001 -msgid "Cost of Goods Sold" -msgstr "Harga Pokok Penjualan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_811002 -msgid "Customer Deposit" -msgstr "Deposit Customer" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110002 -msgid "Deposit Income" -msgstr "Pendapatan Deposit" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311004 -msgid "Donation" -msgstr "Sumbangan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_180000 -msgid "Down Payment" -msgstr "Uang Muka Pembelian" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130004 -msgid "Dried Goods Inventory" -msgstr "Persediaan Keringan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130009 -msgid "Drink Inventory" -msgstr "Persediaan Minuman" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311001 -msgid "Drinking Water" -msgstr "Air Minum" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311008 -msgid "Electricity" -msgstr "Listrik" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511007 -msgid "Electricity, Telephone, and Internet Installation Maintenance Costs" -msgstr "Biaya Perawatan Instalasi Listrik, telepon, internet" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130016 -msgid "Electronic Inventory" -msgstr "Persediaan Elektronik" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110008 -msgid "Employee Birthday Benefit" -msgstr "Tunjangan Ulang Tahun Karyawan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110002 -msgid "Employee Bonus / Benefits" -msgstr "Tunjangan/ Bonus Karyawan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110003 -msgid "Employee Health Benefits" -msgstr "Tunjangan Kesehatan Karyawan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_121002 -msgid "Employee Liabilities" -msgstr "Piutang Karyawan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110004 -msgid "Employee Meal (Catering)" -msgstr "Pangan karyawan (catering)" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110005 -msgid "Employee Overtime Pay" -msgstr "Lembur Karyawan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110001 -msgid "Employee Salary" -msgstr "Gaji Karyawan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_211002 -msgid "Event" -msgstr "Event" - -#. module: l10n_id -#: model:account.tax.template,name:l10n_id.tax_PT2 -#: model:account.tax.template,name:l10n_id.tax_ST2 -msgid "Exempt" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311002 -msgid "Exercise Necessities" -msgstr "Keperluan Olahraga" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130013 -msgid "Fashion & Textile Inventory" -msgstr "Persediaan Fashion & Textil" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311013 -msgid "First Aid Kit" -msgstr "P3K" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130002 -msgid "Fish Inventory" -msgstr "Persediaan Ikan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130008 -msgid "Food Inventory" -msgstr "Persediaan Makanan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110003 -msgid "Foreign Exchange Gain" -msgstr "Keuntungan Selisih Kurs" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_9_110003 -msgid "Foreign Exchange Loss" -msgstr "Kerugian Selisih Kurs" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_211001 -msgid "Free Gift" -msgstr "Free Gift" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130006 -msgid "Fresh Drink Inventory" -msgstr "Persediaan Minuman Segar" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130005 -msgid "Fruit Inventory" -msgstr "Persediaan Buah" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110009 -msgid "Gain on Sale of Fixed Assets" -msgstr "Keuntungan Atas Penjualan Aktiva Tetap" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511009 -msgid "Guest Accomodation" -msgstr "Akomodasi Tamu" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_900000 -msgid "Historical Balance" -msgstr "Historical Balance" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130015 -msgid "House Supplies Inventory" -msgstr "Persediaan Perlengkapan Rumah Tangga" - -#. module: l10n_id -#: model:account.chart.template,name:l10n_id.l10n_id_chart -msgid "Indonesian Account Chart Template" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_9_110001 -msgid "Interest Expense" -msgstr "Beban Bunga" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110001 -msgid "Interest Income" -msgstr "Pendapatan Bunga" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_900000 -msgid "Interim Stock" -msgstr "Stok Interim" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311005 -msgid "Internet" -msgstr "Internet" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411003 -msgid "Jilid & Photocopy" -msgstr "Jilid & Photocopy" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411004 -msgid "Job Recruitment Advertisement" -msgstr "Iklan Lowongan Kerja" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311015 -msgid "K3 (Fire Extinguisher)" -msgstr "K3 (Pemadam Kebakaran)" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311011 -msgid "Kitchen Necessities" -msgstr "Keperluan Dapur" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221001 -#: model:account.account.template,name:l10n_id.a_6_710001 -msgid "Land" -msgstr "Tanah" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_211002 -msgid "Leasing Deposit" -msgstr "Hutang Leasing" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511001 -msgid "Licensing Fees" -msgstr "Biaya Perizinan" - -#. module: l10n_id -msgid "Liquidity Transfer" -msgstr "Liquidity Transfer" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_9_110009 -msgid "Loss on Sale of Fixed Assets" -msgstr "Kerugian Atas Penjualan Aktiva Tetap" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112007 -msgid "Mandiri Giro" -msgstr "Mandiri Giro" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110009 -msgid "Maternity Benefit" -msgstr "Tunjangan Melahirkan Karyawan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130001 -msgid "Meat Inventory" -msgstr "Persediaan Daging" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311003 -msgid "Monthly Fee" -msgstr "Iuran Bulanan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112003 -msgid "Muamalat" -msgstr "Muamalat" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221002 -#: model:account.account.template,name:l10n_id.a_6_710002 -msgid "Office Building" -msgstr "Bangunan Kantor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311012 -msgid "Office Equipment" -msgstr "Perlengkapan Kantor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221006 -#: model:account.account.template,name:l10n_id.a_6_710006 -msgid "Office Furniture" -msgstr "Furnitur Kantor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411001 -msgid "Office Stationery" -msgstr "Alat Tulis Kantor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221004 -#: model:account.account.template,name:l10n_id.a_6_710004 -msgid "Office Supplies" -msgstr "Peralatan Kantor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_151002 -msgid "Ongoing Profit & Loss" -msgstr "Laba Rugi Tahun Berjalan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_900000 -msgid "Other Expenses" -msgstr "Biaya Lain-lain" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110004 -msgid "Other Income" -msgstr "Pendapatan lainnya" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130018 -msgid "Other Inventory" -msgstr "Persediaan Lainnya" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311014 -msgid "Other Necessities" -msgstr "Keperluan Lain-lain" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_211004 -msgid "Other Receivable" -msgstr "Piutang lainnya" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311018 -msgid "Owner Necessities" -msgstr "Keperluan Owner" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_211003 -msgid "Owner Receivable" -msgstr "Piutang Owner" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_PT0 -msgid "0%" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_PT1 -msgid "11%" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_PT2 -msgid "0%" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_110002 -msgid "Paid Capital" -msgstr "Modal Yang Disetor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_151001 -msgid "Past Profit & Loss" -msgstr "Laba Rugi Tahun Lalu" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112001 -msgid "Personal Mandiri" -msgstr "Mandiri Personal" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_111001 -msgid "Petty Cash" -msgstr "Kas Kecil" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311006 -msgid "Phone" -msgstr "Telepon" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411002 -msgid "Post Necessities" -msgstr "Keperluan Pos" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110010 -msgid "Pph 21 Benefit" -msgstr "Tunjangan PPH Pasal 21" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_141003 -msgid "Prepaid Advertisement-Free" -msgstr "Beban Iklan Dibayar Dimuka" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_141002 -msgid "Prepaid Insurance" -msgstr "Asuransi Dibayar Dimuka" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311007 -msgid "Prepaid Phone Bills" -msgstr "Pulsa" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_151001 -msgid "Prepaid Tax Pph 22" -msgstr "Pajak Dibayar Dimuka PPH 22" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_151002 -msgid "Prepaid Tax Pph 23" -msgstr "Pajak Dibayar Dimuka PPH 23" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_151003 -msgid "Prepaid Tax Pph 25" -msgstr "Pajak Dibayar Dimuka PPH 25" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_110004 -msgid "Prive (Personal Retrieval)" -msgstr "Prive (Pengambilan Pribadi)" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130010 -msgid "Processed Food Inventory" -msgstr "Persediaan Makanan Olahan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511004 -msgid "Rental Costs" -msgstr "Biaya Sewa" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311010 -msgid "Research & Development" -msgstr "Research & Development" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_ST0 -msgid "0%" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_ST1 -msgid "ST1" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_ST2 -msgid "0%" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_110004 -msgid "Salary Deposit" -msgstr "Hutang Gaji" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_4_100001 -msgid "Sales" -msgstr "Penjualan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_4_200007 -msgid "Sales Discount" -msgstr "Discount Penjualan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_4_200006 -msgid "Sales Refund" -msgstr "Retur Penjualan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110006 -msgid "Security Service Fee" -msgstr "Fee Jasa Keamanan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_110002 -msgid "Shareholder Deposit" -msgstr "Hutang Pemegang Saham" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511011 -msgid "Shipping Costs" -msgstr "Biaya Pengiriman Dokumen/Barang" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_211004 -msgid "Shipping Merchandise" -msgstr "Pengiriman Barang Dagang" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221005 -#: model:account.account.template,name:l10n_id.a_6_710005 -msgid "Software" -msgstr "Software" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411005 -msgid "Stamp" -msgstr "Materai" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121004 -msgid "Tax Payable 4 (2)" -msgstr "Hutang Pajak Pasal 4 (2)" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121001 -msgid "Tax Payable Pph 21" -msgstr "Hutang Pajak PPh 21" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121002 -msgid "Tax Payable Pph 23" -msgstr "Hutang Pajak PPh 23" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121003 -msgid "Tax Payable Pph 25" -msgstr "Hutang Pajak PPh 25" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121005 -msgid "Tax Payable Pph 29" -msgstr "Hutang Pajak PPh 29" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511008 -msgid "Taxes" -msgstr "Pajak" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_110003 -msgid "Third-Party Deposit" -msgstr "Hutang Pihak Ketiga" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130011 -msgid "Toiletries Inventory" -msgstr "Persediaan Toiletries" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130017 -msgid "Toys Inventory" -msgstr "Persediaan Mainan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_110001 -msgid "Trade Receivable" -msgstr "Hutang Usaha" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_110003 -msgid "Unpaid Capital" -msgstr "Modal Yang Belum Disetor" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_122101 -msgid "VAT Purchase" -msgstr "PPN Pembelian" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_122102 -msgid "VAT Sales" -msgstr "PPN Penjualan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130003 -msgid "Vegetables Inventory" -msgstr "Persediaan Sayuran" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221003 -#: model:account.account.template,name:l10n_id.a_6_710003 -msgid "Vehicle" -msgstr "Kendaraan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611001 -msgid "Vehicle Fuel" -msgstr "BBM kendaraan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611005 -msgid "Vehicle Insurance" -msgstr "Asuransi Kendaraan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611003 -msgid "Vehicle Parking & Toll Fee" -msgstr "Parkir & tol kendaraan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611002 -msgid "Vehicle Service" -msgstr "Service kendaraan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611004 -msgid "Vehicle Taxes" -msgstr "Pajak Kendaraan" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311009 -msgid "Water (PDAM)" -msgstr "PDAM" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110007 -msgid "Work Uniform" -msgstr "Pakaian Kerja" - -#. module: l10n_id -#: model:account.tax.group,name:l10n_id.l10n_id_tax_group_luxury_goods -msgid "Luxury Good Taxes" -msgstr "Pajak Barang Mewah" - -#. module: l10n_id -#: model:account.tax.group,name:l10n_id.l10n_id_tax_group_non_luxury_goods -msgid "Non-luxury Good Taxes" -msgstr "Pajak Barang" - -#. module: l10n_id -#: model:account.tax.group,name:l10n_id.l10n_id_tax_group_exempt -msgid "Tax Exempted" -msgstr "Bebas Pajak" - -#. module: l10n_id -#: model:account.tax.group,name:l10n_id.l10n_id_tax_group_0 -msgid "Zero-rated Taxes" -msgstr "Pajak Nol" diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n_extra/l10n_id.pot b/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n_extra/l10n_id.pot deleted file mode 100644 index 8afb215..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/i18n_extra/l10n_id.pot +++ /dev/null @@ -1,848 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * l10n_id -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 13.0+e\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-03 12:38+0000\n" -"PO-Revision-Date: 2019-12-03 12:38+0000\n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: l10n_id -#: model:account.tax.template,name:l10n_id.tax_PT1 -#: model:account.tax.template,name:l10n_id.tax_ST1 -msgid "11%" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_121001 -msgid "Account Receivable" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_1210011 -msgid "Account Receivable (PoS)" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511006 -msgid "Accrued Payable Bank" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511008 -msgid "Accrued Payable Business License" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511010 -msgid "Accrued Payable Education" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511001 -msgid "Accrued Payable Electricity" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511011 -msgid "Accrued Payable Health Insurance/BPJS" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511009 -msgid "Accrued Payable Insurance" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511002 -msgid "Accrued Payable Jamsostek" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511007 -msgid "Accrued Payable PBB" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511005 -msgid "Accrued Payable Security Management" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511004 -msgid "Accrued Payable Telp & Internet" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_511003 -msgid "Accrued Payable Water" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228101 -msgid "Accumulation Building Depreciation" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228105 -msgid "Accumulation Office Furniture Depreciation" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228103 -msgid "Accumulation Office Supplies Depreciation" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228104 -msgid "Accumulation Software Depreciation" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_228102 -msgid "Accumulation Vehicle Depreciation" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_811001 -msgid "Advance Sales" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_211003 -msgid "Advertising" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511010 -msgid "Asset Maintenance Costs" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_110001 -msgid "Authorized Capital" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112005 -msgid "BCA" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112004 -msgid "BNI" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112006 -msgid "BNI Giro" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_9_110002 -msgid "Bank Administration Expense" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511002 -msgid "Bank Administration Fees" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_211001 -msgid "Bank Loan" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_811003 -msgid "Bonus Point" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130012 -msgid "Book, Office Stationery, Accessories Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511006 -msgid "Building Maintenance Costs" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_141001 -msgid "Building Rent" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112002 -msgid "Business Mandiri" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_121001 -msgid "Capital Reserves" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_111002 -msgid "Cash in Hand" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130007 -msgid "Cigarette Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311016 -msgid "Cleaning Equipment" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130014 -msgid "Cleaning Supplies Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511003 -msgid "Consultant Fees" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_5_100001 -msgid "Cost of Goods Sold" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_811002 -msgid "Customer Deposit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110002 -msgid "Deposit Income" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311004 -msgid "Donation" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_180000 -msgid "Down Payment" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130004 -msgid "Dried Goods Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130009 -msgid "Drink Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311001 -msgid "Drinking Water" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311008 -msgid "Electricity" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511007 -msgid "Electricity, Telephone, and Internet Installation Maintenance Costs" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130016 -msgid "Electronic Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110008 -msgid "Employee Birthday Benefit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110002 -msgid "Employee Bonus / Benefits" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110003 -msgid "Employee Health Benefits" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_121002 -msgid "Employee Liabilities" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110004 -msgid "Employee Meal (Catering)" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110005 -msgid "Employee Overtime Pay" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110001 -msgid "Employee Salary" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_211002 -msgid "Event" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,name:l10n_id.tax_PT2 -#: model:account.tax.template,name:l10n_id.tax_ST2 -msgid "Exempt" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311002 -msgid "Exercise Necessities" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130013 -msgid "Fashion & Textile Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311013 -msgid "First Aid Kit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130002 -msgid "Fish Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130008 -msgid "Food Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110003 -msgid "Foreign Exchange Gain" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_9_110003 -msgid "Foreign Exchange Loss" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_211001 -msgid "Free Gift" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130006 -msgid "Fresh Drink Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130005 -msgid "Fruit Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110009 -msgid "Gain on Sale of Fixed Assets" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511009 -msgid "Guest Accomodation" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_900000 -msgid "Historical Balance" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130015 -msgid "House Supplies Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.chart.template,name:l10n_id.l10n_id_chart -msgid "Indonesian Account Chart Template" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_9_110001 -msgid "Interest Expense" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110001 -msgid "Interest Income" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_900000 -msgid "Interim Stock" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311005 -msgid "Internet" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411003 -msgid "Jilid & Photocopy" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411004 -msgid "Job Recruitment Advertisement" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311015 -msgid "K3 (Fire Extinguisher)" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311011 -msgid "Kitchen Necessities" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221001 -#: model:account.account.template,name:l10n_id.a_6_710001 -msgid "Land" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_211002 -msgid "Leasing Deposit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511001 -msgid "Licensing Fees" -msgstr "" - -#. module: l10n_id -msgid "Liquidity Transfer" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_9_110009 -msgid "Loss on Sale of Fixed Assets" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112007 -msgid "Mandiri Giro" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110009 -msgid "Maternity Benefit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130001 -msgid "Meat Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311003 -msgid "Monthly Fee" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112003 -msgid "Muamalat" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221002 -#: model:account.account.template,name:l10n_id.a_6_710002 -msgid "Office Building" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311012 -msgid "Office Equipment" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221006 -#: model:account.account.template,name:l10n_id.a_6_710006 -msgid "Office Furniture" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411001 -msgid "Office Stationery" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221004 -#: model:account.account.template,name:l10n_id.a_6_710004 -msgid "Office Supplies" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_151002 -msgid "Ongoing Profit & Loss" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_900000 -msgid "Other Expenses" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_8_110004 -msgid "Other Income" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130018 -msgid "Other Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311014 -msgid "Other Necessities" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_211004 -msgid "Other Receivable" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311018 -msgid "Owner Necessities" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_211003 -msgid "Owner Receivable" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_PT0 -msgid "0%" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_PT1 -msgid "11%" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_PT2 -msgid "0%" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_110002 -msgid "Paid Capital" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_151001 -msgid "Past Profit & Loss" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_112001 -msgid "Personal Mandiri" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_111001 -msgid "Petty Cash" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311006 -msgid "Phone" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411002 -msgid "Post Necessities" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110010 -msgid "Pph 21 Benefit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_141003 -msgid "Prepaid Advertisement-Free" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_141002 -msgid "Prepaid Insurance" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311007 -msgid "Prepaid Phone Bills" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_151001 -msgid "Prepaid Tax Pph 22" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_151002 -msgid "Prepaid Tax Pph 23" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_151003 -msgid "Prepaid Tax Pph 25" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_110004 -msgid "Prive (Personal Retrieval)" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130010 -msgid "Processed Food Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511004 -msgid "Rental Costs" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311010 -msgid "Research & Development" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_ST0 -msgid "0%" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_ST1 -msgid "11%" -msgstr "" - -#. module: l10n_id -#: model:account.tax.template,description:l10n_id.tax_ST2 -msgid "0%" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_110004 -msgid "Salary Deposit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_4_100001 -msgid "Sales" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_4_200007 -msgid "Sales Discount" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_4_200006 -msgid "Sales Refund" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110006 -msgid "Security Service Fee" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_110002 -msgid "Shareholder Deposit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511011 -msgid "Shipping Costs" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_211004 -msgid "Shipping Merchandise" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221005 -#: model:account.account.template,name:l10n_id.a_6_710005 -msgid "Software" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_411005 -msgid "Stamp" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121004 -msgid "Tax Payable 4 (2)" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121001 -msgid "Tax Payable Pph 21" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121002 -msgid "Tax Payable Pph 23" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121003 -msgid "Tax Payable Pph 25" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_121005 -msgid "Tax Payable Pph 29" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_511008 -msgid "Taxes" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_110003 -msgid "Third-Party Deposit" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130011 -msgid "Toiletries Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130017 -msgid "Toys Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_110001 -msgid "Trade Receivable" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_3_110003 -msgid "Unpaid Capital" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_122101 -msgid "VAT Purchase" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_2_122102 -msgid "VAT Sales" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_130003 -msgid "Vegetables Inventory" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_1_221003 -#: model:account.account.template,name:l10n_id.a_6_710003 -msgid "Vehicle" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611001 -msgid "Vehicle Fuel" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611005 -msgid "Vehicle Insurance" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611003 -msgid "Vehicle Parking & Toll Fee" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611002 -msgid "Vehicle Service" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_611004 -msgid "Vehicle Taxes" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_311009 -msgid "Water (PDAM)" -msgstr "" - -#. module: l10n_id -#: model:account.account.template,name:l10n_id.a_6_110007 -msgid "Work Uniform" -msgstr "" - -#. module: l10n_id -#: model:account.tax.group,name:l10n_id.l10n_id_tax_group_luxury_goods -msgid "Luxury Good Taxes" -msgstr "" - -#. module: l10n_id -#: model:account.tax.group,name:l10n_id.l10n_id_tax_group_non_luxury_goods -msgid "Non-luxury Good Taxes" -msgstr "" - -#. module: l10n_id -#: model:account.tax.group,name:l10n_id.l10n_id_tax_group_exempt -msgid "Tax Exempted" -msgstr "" - -#. module: l10n_id -#: model:account.tax.group,name:l10n_id.l10n_id_tax_group_0 -msgid "Zero-rated Taxes" -msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.1/end-migrate_update_taxes.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.1/end-migrate_update_taxes.py index ee06162..75e5cec 100644 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.1/end-migrate_update_taxes.py +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.1/end-migrate_update_taxes.py @@ -1,6 +1,8 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo.addons.account.models.chart_template import update_taxes_from_templates +from odoo import api, SUPERUSER_ID def migrate(cr, version): - update_taxes_from_templates(cr, 'l10n_id.l10n_id_chart') + env = api.Environment(cr, SUPERUSER_ID, {}) + for company in env['res.company'].search([('chart_template', '=', 'id')], order="parent_path"): + env['account.chart.template'].try_loading('id', company, force_create=False) diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.2/end-migrate_update_taxes.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.2/end-migrate_update_taxes.py index 126dc20..6b9cb5d 100644 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.2/end-migrate_update_taxes.py +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.2/end-migrate_update_taxes.py @@ -5,39 +5,36 @@ from odoo import api, SUPERUSER_ID def migrate(cr, version): env = api.Environment(cr, SUPERUSER_ID, {}) - # Tax groups to create in format of [(xml_id, name)] - tax_group_info = [ - ("l10n_id_tax_group_non_luxury_goods", "Non-luxury Good Taxes"), - ("l10n_id_tax_group_0", "Zero-rated Taxes"), - ("l10n_id_tax_group_exempt", "Tax Exempted"), - ] + # Load the new tax groups if it doesn't exist yet + ChartTemplate = env["account.chart.template"] + companies = env['res.company'].search([('chart_template', '=', 'id')], order="parent_path") - for xmlid, name in tax_group_info: - if not env.ref(f"l10n_id.{xmlid}", raise_if_not_found=False): - env['ir.model.data'].create({ - "name": xmlid, - "module": "l10n_id", - "model": "account.tax.group", - "res_id": env['account.tax.group'].create({'name': name, 'country_id': env.ref('base.id').id}).id, - 'noupdate': True - }) + new_tax_groups = ["l10n_id_tax_group_non_luxury_goods", "l10n_id_tax_group_0", "l10n_id_tax_group_exempt"] - # For all taxes linked to the tax_ST1 and tax_PT1, set the tax group to non-luxury goods - # if no changes to amount and tax group yet - tax_group_id = env.ref("l10n_id.l10n_id_tax_group_non_luxury_goods") - default_group = env['account.tax']._default_tax_group() - id_chart = env.ref("l10n_id.l10n_id_chart", raise_if_not_found=False) + tax_group_data = { + xmlid: data + for xmlid, data in ChartTemplate._get_account_tax_group('id').items() + if xmlid in new_tax_groups + } - if not id_chart: - return - - companies = env['res.company'].search([('chart_template_id', 'child_of', id_chart.id)]) + # For taxes: tax_ST1 and tax_PT1 which are non-luxury tax, if the amount and tax group + # has not been changed yet by user, we update the tax group and description for company in companies: - tax_xml_ids = [ - f"l10n_id.{company.id}_tax_ST1", - f"l10n_id.{company.id}_tax_PT1", - ] - for tax_xml_id in tax_xml_ids: - tax = env.ref(tax_xml_id, raise_if_not_found=False) - if tax and tax.amount == 11.0 and tax.tax_group_id == default_group: - tax.update({"tax_group_id": tax_group_id.id, "description": "12%"}) + ChartTemplate.with_company(company)._load_data({ + "account.tax.group": tax_group_data, + }) + tax_ST1 = ChartTemplate.with_company(company).ref("tax_ST1", raise_if_not_found=False) + tax_PT1 = ChartTemplate.with_company(company).ref("tax_PT1", raise_if_not_found=False) + + old_group = ChartTemplate.with_company(company).ref("default_tax_group", raise_if_not_found=False) + new_group = ChartTemplate.with_company(company).ref("l10n_id_tax_group_non_luxury_goods") + + if not old_group: + continue + + for tax in [tax_ST1, tax_PT1]: + if tax and tax.amount == 11.0 and tax.tax_group_id == old_group: + tax.write({ + "tax_group_id": new_group.id, + "description": "12%", + }) diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.3/end-migrate_update_taxes.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.3/end-migrate_update_taxes.py new file mode 100644 index 0000000..cef115a --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/migrations/1.3/end-migrate_update_taxes.py @@ -0,0 +1,117 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import api, SUPERUSER_ID + + +def migrate(cr, version): + env = api.Environment(cr, SUPERUSER_ID, {"lang": "en_US"}) + + companies = env["res.company"].search([("chart_template", "=", "id"), ("parent_id", "=", False)]) + + new_tax_groups = ["l10n_id_tax_group_stlg", "l10n_id_tax_group_non_luxury_goods", "l10n_id_tax_group_luxury_goods", "l10n_id_tax_group_0"] + new_taxes = [ + "tax_ST4", "tax_PT4", + "tax_ST5", "tax_PT5", + "tax_ST6", "tax_ST7", + "tax_luxury_sales_pemungut_ppn", + "tax_PT6", "tax_PT7", + ] + + for company in companies: + ChartTemplate = env["account.chart.template"].with_company(company) + # ============================= + # Load new tax data + tax_group_data = { + xmlid: data + for xmlid, data in ChartTemplate._get_account_tax_group("id").items() + if xmlid in new_tax_groups + } + tax_data = { + xmlid: data + for xmlid, data in ChartTemplate._get_account_tax("id").items() + if xmlid in new_taxes + } + new_tax_group_data = {} + if (tax_group_data): + new_tax_group_data = { + g: data + for g, data in tax_group_data.items() + if not ChartTemplate.ref(g, raise_if_not_found=False) + } + + if new_tax_group_data: + data = {"account.tax.group": new_tax_group_data} + ChartTemplate._pre_reload_data(company, {}, data) + ChartTemplate._load_data(data) + if tax_data: + data = {"account.tax": tax_data} + ChartTemplate._pre_reload_data(company, {}, data) + ChartTemplate._load_data(data) + # ============================= + # Update existing tax description + tax_map = { + "tax_ST0": "VAT Not Collected", + "tax_PT0": "Zero-Rated", + "tax_ST2": "Exempt", + "tax_PT2": "Exempt", + "tax_ST3": "Taxable Luxury Goods", + "tax_PT3": "Standard Rate for Luxury Goods & Services", + } + for xmlid, new_description in tax_map.items(): + tax = ChartTemplate.ref(xmlid, raise_if_not_found=False) + if not tax: + continue + # Only update description if it hasn't been manually changed + if tax.description == xmlid.replace("tax_", "").upper(): + tax.description = new_description + + # ============================= + # Archive ST1 and PT1 + for xmlid in ["tax_ST1", "tax_PT1"]: + tax = ChartTemplate.ref(xmlid, raise_if_not_found=False) + if tax and not tax.active: + continue + if tax: + tax.active = False + + # ============================= + # Remove l10n_id.ppn_tag from specific taxes + taxes_to_clean = [ + "tax_ST1", "tax_PT1", + "tax_ST3", "tax_PT3", + "tax_luxury_sales", + ] + ppn_tag = env.ref("l10n_id.ppn_tag", raise_if_not_found=False) + if ppn_tag: + tax_records = env["account.tax"].browse([]) + for xmlid in taxes_to_clean: + rec = ChartTemplate.ref(xmlid, raise_if_not_found=False) + if rec: + tax_records |= rec + + if tax_records: + repartition_lines = env["account.tax.repartition.line"].sudo().search([ + ("tax_id", "in", tax_records.ids), + ("tag_ids", "in", [ppn_tag.id]), + ]) + if repartition_lines: + repartition_lines.write({"tag_ids": [(3, ppn_tag.id)]}) + + # ============================= + # Update tax_luxury_sales group, description and invoice_label + old_group = ChartTemplate.ref("l10n_id_tax_group_luxury_goods", raise_if_not_found=False) + new_group = ChartTemplate.ref("l10n_id_tax_group_stlg", raise_if_not_found=False) + tax_luxury_sales = ChartTemplate.ref("tax_luxury_sales", raise_if_not_found=False) + if not (old_group and new_group and tax_luxury_sales): + continue + tax_luxury_sales_vals = {} + if tax_luxury_sales.tax_group_id == old_group: + tax_luxury_sales_vals['tax_group_id'] = new_group.id + if tax_luxury_sales.description == "Luxury": + tax_luxury_sales_vals['description'] = "Sales Tax on Luxury Goods (STLG)" + if tax_luxury_sales.invoice_label == "Luxury Goods (ID)": + tax_luxury_sales_vals['invoice_label'] = "20%" + if tax_luxury_sales.name == "20%": + tax_luxury_sales_vals['name'] = "20% (STLG)" + if tax_luxury_sales.is_base_affected: + tax_luxury_sales['is_base_affected'] = False + tax_luxury_sales.write(tax_luxury_sales_vals) diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/__init__.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/__init__.py index 6eca875..96beef9 100644 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/__init__.py @@ -1,3 +1,6 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from . import account_move +from . import template_id +from . import res_bank +from . import qris_transaction diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/account_move.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/account_move.py index 3a3ecd3..b4613a0 100644 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/account_move.py +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/account_move.py @@ -1,36 +1,137 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import fields, models -from odoo.tools.misc import formatLang +from odoo import fields, models, _ class AccountMove(models.Model): - _inherit = "account.move" + _inherit = 'account.move' + + l10n_id_qris_transaction_ids = fields.Many2many('l10n_id.qris.transaction', groups='account.group_account_invoice') + + def _generate_qr_code(self, silent_errors=False): + """ + Adds information about which invoice is triggering the creation of the QR-Code, so that we can link both together. + """ + # EXTENDS account + return super( + AccountMove, + self.with_context(qris_model="account.move", qris_model_id=str(self.id)), + )._generate_qr_code(silent_errors) + + def _l10n_id_cron_update_payment_status(self): + """ + This cron will: + - Get all invoices that are not paid, and have details about QRIS qr codes. + - For each invoices, get information about the payment state of the QR using the API. + - If the QR is not paid and it has been more than 30m, we discard that qr id (no longer valid) + - If it is paid, we will register the payment on the invoices. + """ + invoices = self.search([ + ('payment_state', '=', 'not_paid'), + ('l10n_id_qris_transaction_ids', '!=', False) + ]) + return invoices._l10n_id_update_payment_status() + + def action_l10n_id_update_payment_status(self): + """ + This action will: + - Get all invoices that are not paid, and have details about QRIS qr codes. + - For each invoices, get information about the payment state of the QR using the API. + - If the QR is not paid and it has been more than 30m, we discard that qr id (no longer valid) + - If it is paid, we will register the payment on the invoices. + """ + invoices = self.filtered_domain([ + ('payment_state', '=', 'not_paid'), + ('l10n_id_qris_transaction_ids', '!=', False) + ]) + return invoices._l10n_id_update_payment_status() + + def _l10n_id_update_payment_status(self): + """ Starts by fetching the QR statuses for the invoices in self, then update said invoices based on the statuses """ + qr_statuses = self._l10n_id_get_qris_qr_statuses() + return self._l10n_id_process_invoices(qr_statuses) + + def _l10n_id_get_qris_qr_statuses(self): + """ + Query the API in order to get updated information on the status of each QR codes linked to the invoices in self. + If the QR has been paid, only the paid information is returned. + + :return: a list with the format: + { + invoice: { + 'paid': True, + 'qr_statuses': [], + }, + invoice: { + 'paid': False, + 'qr_statuses': [], + } + } + """ + result = {} + for invoice in self: + result[invoice.id] = invoice.l10n_id_qris_transaction_ids._l10n_id_get_qris_qr_statuses() + return result + + def _l10n_id_process_invoices(self, invoices_statuses): + """ + Receives the list of invoices and their statuses, and update them using it. + For paid invoices we will register the payment and log a note, while for unpaid ones we will discard expired + QR data and keep the non-expired ones for the next run. + """ + paid_invoices = self.env['account.move'] + paid_messages = {} + for invoice in self: + statuses = invoices_statuses.get(invoice.id) + # Paid invoice: we simply prepare a message to notify of the payment with details if possible. + if statuses['paid']: + paid_status = statuses['qr_statuses'][0] + if 'qris_payment_customername' in paid_status and 'qris_payment_methodby' in paid_status: + message = _( + "This invoice was paid by %(customer)s using QRIS with the payment method %(method)s.", + customer=paid_status['qris_payment_customername'], + method=paid_status['qris_payment_methodby'], + ) + else: + message = _("This invoice was paid using QRIS.") + paid_invoices |= invoice + paid_messages[invoice.id] = message + + # Update paid invoices + if paid_invoices: + paid_invoices._message_log_batch(bodies=paid_messages) + # Finally, register the payment: + return self.env['account.payment.register'].with_context( + active_model='account.move', active_ids=paid_invoices.ids + ).create({'group_payment': False}).action_create_payments() def _compute_tax_totals(self): """ OVERRIDE - For invoices based on ID company as of January 2025, there is a separate tax base computation for nun-luxury goods. + For invoices based on ID company as of January 2025, there is a separate tax base computation for non-luxury goods. Tax base is supposed to be 11/12 of original while tax amount is increased from 11% to 12% hence effectively maintaining 11% tax amount. We change tax totals section to display adjusted base amount on invoice PDF for special non-luxury goods tax group. """ super()._compute_tax_totals() - non_luxury_tax_group = self.env.ref('l10n_id.l10n_id_tax_group_non_luxury_goods', raise_if_not_found=False) - if not non_luxury_tax_group: - return for move in self.filtered(lambda m: m.is_sale_document()): - if move.invoice_date and move.invoice_date < fields.Date.to_date('2025-01-01'): + # invoice might be coming from different companies, each tax group with unique XML ID + non_luxury_tax_group = self.env['account.chart.template'].with_company(move.company_id.id).ref("l10n_id_tax_group_non_luxury_goods", raise_if_not_found=False) + + if not non_luxury_tax_group or move.invoice_date and move.invoice_date < fields.Date.to_date('2025-01-01'): continue - for subtotal_group in move.tax_totals['groups_by_subtotal'].values(): - for group in subtotal_group: - if group['tax_group_id'] == non_luxury_tax_group.id: - dpp = group['tax_group_base_amount'] * (11 / 12) - # adding (DPP) information to make it clearer for users why the number is different from the Untaxed Amount - group.update({ - 'tax_group_base_amount': dpp, - 'formatted_tax_group_base_amount': formatLang(self.env, dpp, currency_obj=move.currency_id), - 'tax_group_name': group['tax_group_name'] + ' (on DPP)', + + # for every tax group component with non-luxury tax group, we adjust the base amount and adjust the display to + # show base amount + change_tax_base = False + for subtotal in move.tax_totals["subtotals"]: + for tax_group in subtotal["tax_groups"]: + if tax_group["id"] == non_luxury_tax_group.id: + tax_group.update({ + "display_base_amount": tax_group["display_base_amount"] * (11 / 12), + "display_base_amount_currency": tax_group["display_base_amount_currency"] * (11 / 12), + "group_name": tax_group["group_name"] + " (on DPP)", }) - move.tax_totals['display_tax_base'] = True + change_tax_base = True + if change_tax_base: + move.tax_totals["same_tax_base"] = False diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/qris_transaction.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/qris_transaction.py new file mode 100644 index 0000000..778c714 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/qris_transaction.py @@ -0,0 +1,83 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from datetime import timedelta +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + + +class L10n_IdQrisTransaction(models.Model): + """QRIS Transaction + + General table to store a certian unique transaction with QRIS details attached + """ + _name = 'l10n_id.qris.transaction' + _description = "Record of QRIS transactions" + + model = fields.Char(string="Model") # payment in respond to which model + model_id = fields.Char(string="Model ID") # id/uuid + + # Fields that store the QRIS details coming from API request + qris_invoice_id = fields.Char(readonly=True) + qris_amount = fields.Integer(readonly=True) + qris_content = fields.Char(readonly=True) + qris_creation_datetime = fields.Datetime(readonly=True) + + bank_id = fields.Many2one("res.partner.bank", help="Bank used to generate the current QRIS transaction") + paid = fields.Boolean(help="Payment Status of QRIS") + + def _get_supported_models(self): + return ['account.move'] + + @api.constrains('model') + def _constraint_model(self): + # only allow supported models + if self.model not in self._get_supported_models(): + raise ValidationError(_("QRIS capability is not extended to model %s yet!", self.model)) + + def _get_record(self): + """ Get the backend invoice record that the qris transaction is handling + To be overriden in other modules""" + self.ensure_one() + if self.model != 'account.move': + return + return self.env['account.move'].browse(int(self.model_id)).exists() + + @api.model + def _get_latest_transaction(self, model, model_id): + """ Find latest transaction associated to the model and model_id """ + return self.search([('model', '=', model), ('model_id', '=', model_id)], order='qris_creation_datetime desc', limit=1) + + def _l10n_id_get_qris_qr_statuses(self): + """ Fetch the result of the transaction + + :param invoice_bank_id (Model ): bank (with QRIS configuration) + :returns tuple(bool, dict): paid/unpaid status and status_response from QRIS + """ + # storing all failure transactions in case final result is unpaid + unpaid_status_data = [] + + # Looping to make requests is far from ideal, but we have no choices as they don't allow getting multiple QR result at once. + # Ensure to loop in reverse and check from the most recent QR code. + for transaction in self.sorted(lambda t: t.qris_creation_datetime): + status_response = self.sudo().bank_id._l10n_id_qris_fetch_status(transaction) + if status_response['data'].get('qris_status') == 'paid': + transaction.paid = True + return { + 'paid': True, + 'qr_statuses': [status_response['data']] + } + else: + unpaid_status_data.append(status_response['data']) + + return { + 'paid': False, + 'qr_statuses': unpaid_status_data + } + + @api.autovacuum + def _gc_remove_pointless_qris_transactions(self): + """ Removes unpaid transactions that have been for more than 35 minutes. + These can no longer be paid and status will no longer change + """ + time_limit = fields.Datetime.now() - timedelta(seconds=2100) + transactions = self.env['l10n_id.qris.transaction'].search([('qris_creation_datetime', '<=', time_limit), ('paid', '=', False)]) + transactions.unlink() diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/res_bank.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/res_bank.py new file mode 100644 index 0000000..b098d0e --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/res_bank.py @@ -0,0 +1,149 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +import datetime +import requests +import pytz + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError +from odoo.tools.urls import urljoin + +QRIS_TIMEOUT = 35 # They say that the time to get a response vary between 6 to 30s + + +def _l10n_id_make_qris_request(endpoint, params): + """ Make an API request to QRIS, using the given path and params. """ + url = urljoin('https://qris.online/restapi/qris/', endpoint) + try: + response = requests.get(url, params=params, timeout=QRIS_TIMEOUT) + response.raise_for_status() + response = response.json() + except requests.exceptions.HTTPError as err: + raise ValidationError(_("Communication with QRIS failed. QRIS returned with the following error: %s", err)) + except (requests.RequestException, ValueError): + raise ValidationError(_("Could not establish a connection to the QRIS API.")) + + return response + + +class ResPartnerBank(models.Model): + _inherit = "res.partner.bank" + + l10n_id_qris_api_key = fields.Char("QRIS API Key", groups="base.group_system") + l10n_id_qris_mid = fields.Char("QRIS Merchant ID", groups="base.group_system") + + @api.model + def _get_available_qr_methods(self): + # EXTENDS account + rslt = super()._get_available_qr_methods() + rslt.append(('id_qr', _("QRIS"), 40)) + return rslt + + def _get_error_messages_for_qr(self, qr_method, debtor_partner, currency): + # EXTENDS account + if qr_method == 'id_qr': + if self.country_code != 'ID': + return _("You cannot generate a QRIS QR code with a bank account that is not in Indonesia.") + if currency.name not in ['IDR']: + return _("You cannot generate a QRIS QR code with a currency other than IDR") + if not (self.sudo().l10n_id_qris_api_key and self.sudo().l10n_id_qris_mid): + return _("To use QRIS QR code, Please setup the QRIS API Key and Merchant ID on the bank's configuration") + return None + + return super()._get_error_messages_for_qr(qr_method, debtor_partner, currency) + + def _check_for_qr_code_errors(self, qr_method, amount, currency, debtor_partner, free_communication, structured_communication): + # EXTENDS account + if qr_method == 'id_qr': + if not amount: + return _("The amount must be set to generate a QR code.") + + return super()._check_for_qr_code_errors(qr_method, amount, currency, debtor_partner, free_communication, structured_communication) + + def _get_qr_vals(self, qr_method, amount, currency, debtor_partner, free_communication, structured_communication): + """ Getting content for the QR through calling QRIS API and storing the QRIS transaction as a record""" + # EXTENDS account + if qr_method == "id_qr": + model = self.env.context.get('qris_model') + model_id = self.env.context.get('qris_model_id') + + # qris_trx is to help us fetch the backend record associated to the model and model_id. + # we are using model and model_id instead of model.browse(id) because while executing this method + # not all backend records are created already. For example, pos.order record isn't created until + # payment is completed on the PoS interace. + qris_trx = self.env['l10n_id.qris.transaction']._get_latest_transaction(model, model_id) + + # QRIS codes are valid for 30 minutes. To leave some margin, we will return the same QR code we already + # generated if the invoice is re-accessed before 25m. Otherwise, a new QR code is generated + # Additionally, we want to check that it's requesting for the same amount as it's possible to change + # amount in apps like PoS. + if qris_trx and qris_trx.qris_amount == int(amount): + now = fields.Datetime.now() + latest_qr_date = qris_trx.qris_creation_datetime + + if (now - latest_qr_date).total_seconds() < 1500: + return qris_trx['qris_content'] + + params = { + "do": "create-invoice", + "apikey": self.sudo().l10n_id_qris_api_key, + "mID": self.sudo().l10n_id_qris_mid, + "cliTrxNumber": free_communication or structured_communication, + "cliTrxAmount": int(amount) + } + response = _l10n_id_make_qris_request('show_qris.php', params) + if response.get("status") == "failed": + raise ValidationError(response.get("data")) + data = response.get('data') + + # create a new transaction line while also converting the qris_request_date to UTC time + if model and model_id: + new_trx = self.env['l10n_id.qris.transaction'].create({ + 'model': model, + 'model_id': model_id, + 'qris_invoice_id': data.get('qris_invoiceid'), + 'qris_amount': int(amount), + # Since the QRIS response is always returned with "Asia/Jakarta" timezone which is UTC+07:00 + 'qris_creation_datetime': fields.Datetime.to_datetime(data.get('qris_request_date')) - datetime.timedelta(hours=7), + 'qris_content': data.get('qris_content'), + 'bank_id': self.id + }) + + # Search the backend record and attach the qris transaction to the record if it exists. + trx_record = new_trx._get_record() + if trx_record: + trx_record.l10n_id_qris_transaction_ids |= new_trx + + return data.get('qris_content') + + return super()._get_qr_vals(qr_method, amount, currency, debtor_partner, free_communication, structured_communication) + + def _get_qr_code_generation_params(self, qr_method, amount, currency, debtor_partner, free_communication, structured_communication): + # EXTENDS account + if qr_method == 'id_qr': + if not self.env.context.get('is_online_qr'): + return {} + return { + 'barcode_type': 'QR', + 'quiet': 0, + 'width': 120, + 'height': 120, + 'value': self._get_qr_vals(qr_method, amount, currency, debtor_partner, free_communication, structured_communication), + } + return super()._get_qr_code_generation_params(qr_method, amount, currency, debtor_partner, free_communication, structured_communication) + + def _l10n_id_qris_fetch_status(self, qr_data): + """ + using self and the given data, fetches the status of a specific QR code generated by QRIS + Expected values in the qr_data dict are: + - invoice_id returned when generating a QR code + - the amount present in the qr code + - the datetime at which the QR code was generated + """ + return _l10n_id_make_qris_request('checkpaid_qris.php', { + 'do': 'checkStatus', + 'apikey': self.l10n_id_qris_api_key, + 'mID': self.l10n_id_qris_mid, + 'invid': qr_data['qris_invoice_id'], + 'trxvalue': qr_data['qris_amount'], + 'trxdate': qr_data['qris_creation_datetime'], + }) diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/template_id.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/template_id.py new file mode 100644 index 0000000..db7109a --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/models/template_id.py @@ -0,0 +1,63 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import models +from odoo.addons.account.models.chart_template import template + + +class AccountChartTemplate(models.AbstractModel): + _inherit = 'account.chart.template' + + @template('id') + def _get_id_template_data(self): + return { + 'property_account_receivable_id': 'l10n_id_11210010', + 'property_account_payable_id': 'l10n_id_21100010', + 'property_stock_valuation_account_id': 'l10n_id_11300180', + 'code_digits': '8', + } + + @template('id', 'res.company') + def _get_id_res_company(self): + return { + self.env.company.id: { + 'anglo_saxon_accounting': True, + 'account_fiscal_country_id': 'base.id', + 'bank_account_code_prefix': '1112', + 'cash_account_code_prefix': '1111', + 'transfer_account_code_prefix': '1999999', + 'default_cash_difference_income_account_id': 'l10n_id_99900002', + 'default_cash_difference_expense_account_id': 'l10n_id_99900001', + 'account_default_pos_receivable_account_id': 'l10n_id_11210011', + 'income_currency_exchange_account_id': 'l10n_id_81100030', + 'expense_currency_exchange_account_id': 'l10n_id_91100020', + 'account_journal_early_pay_discount_loss_account_id': 'l10n_id_99900003', + 'account_journal_early_pay_discount_gain_account_id': 'l10n_id_99900004', + 'account_sale_tax_id': 'tax_ST4', + 'account_purchase_tax_id': 'tax_PT4', + 'expense_account_id': 'l10n_id_51000010', + 'income_account_id': 'l10n_id_41000010', + 'account_stock_journal_id': 'inventory_valuation', + 'account_stock_valuation_id': 'l10n_id_11300180', + 'deferred_expense_account_id': 'l10n_id_11210040', + 'deferred_revenue_account_id': 'l10n_id_28110030', + }, + } + + @template('id', 'account.account') + def _get_id_account_account(self): + return { + 'l10n_id_11300180': { + 'account_stock_expense_id': 'l10n_id_51000020', + 'account_stock_variation_id': 'l10n_id_42500010', + }, + } + + @template('id', 'account.journal') + def _get_id_account_journal(self): + return { + 'bank': {'default_account_id': 'l10n_id_11120001'}, + 'cash': { + 'name': self.env._("Cash"), + 'type': 'cash', + 'default_account_id': 'l10n_id_11110001', + }, + } diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/security/ir.model.access.csv b/odoo-bringout-oca-ocb-l10n_id/l10n_id/security/ir.model.access.csv new file mode 100644 index 0000000..762a922 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_l10n_id_qris_transaction,access_l10n_id_qris_transaction,model_l10n_id_qris_transaction,account.group_account_invoice,1,1,1,1 diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/static/description/icon.png b/odoo-bringout-oca-ocb-l10n_id/l10n_id/static/description/icon.png deleted file mode 100644 index ddbfd41..0000000 Binary files a/odoo-bringout-oca-ocb-l10n_id/l10n_id/static/description/icon.png and /dev/null differ diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/static/description/icon.svg b/odoo-bringout-oca-ocb-l10n_id/l10n_id/static/description/icon.svg deleted file mode 100644 index f80716f..0000000 --- a/odoo-bringout-oca-ocb-l10n_id/l10n_id/static/description/icon.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/__init__.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/__init__.py new file mode 100644 index 0000000..425b94c --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/__init__.py @@ -0,0 +1,2 @@ +from . import test_qris_transaction +from . import test_qris diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/test_qris.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/test_qris.py new file mode 100644 index 0000000..62f23f0 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/test_qris.py @@ -0,0 +1,196 @@ +from markupsafe import Markup + +from odoo.fields import Command +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged +from unittest.mock import patch +from freezegun import freeze_time + + +@tagged('post_install_l10n', 'post_install', '-at_install') +class TestQris(AccountTestInvoicingCommon): + """ Test QRIS QR generation on invoices and auto-payment registration""" + + @classmethod + @AccountTestInvoicingCommon.setup_chart_template('id') + def setUpClass(cls): + super().setUpClass() + cls.company_data['company'].qr_code = True + cls.company_data['company'].partner_id.update({ + 'country_id': cls.env.ref('base.id').id, + 'city': 'Jakarta', + }) + + cls.acc_qris_id = cls.env['res.partner.bank'].create({ + 'acc_number': '123456789012345678', + 'partner_id': cls.company_data['company'].partner_id.id, + 'l10n_id_qris_api_key': 'apikey', + 'l10n_id_qris_mid': 'mid', + 'allow_out_payment': True, + }) + cls.qris_qr_invoice = cls.env['account.move'].create({ + 'move_type': 'out_invoice', + 'partner_id': cls.partner_a.id, + 'currency_id': cls.env.ref('base.IDR').id, + 'partner_bank_id': cls.acc_qris_id.id, + 'company_id': cls.company_data['company'].id, + 'invoice_line_ids': [Command.create({'quantity': 1, 'price_unit': 100})], + 'qr_code_method': 'id_qr', + })._post() + + cls.success_qris_get = { + "status": "success", + "data": { + "qris_content": "Test Content", + "qris_request_date": "2024-02-27 11:13:42", + "qris_invoiceid": "413255111", + "qris_nmid": "ID1020021181745" + } + } + cls.success_qris_get_second = { + "status": "success", + "data": { + "qris_content": "Test Content Second", + "qris_request_date": "2024-02-27 11:13:42", + "qris_invoiceid": "413255111", + "qris_nmid": "ID1020021181745" + } + } + + cls.qris_status_fail = { + "status": "failed", + "data": { + "qris_status": "unpaid" + } + } + + cls.qris_status_success = { + "status": "success", + "data": { + "qris_status": "paid", + "qris_payment_customername": "Zainal Arief", + "qris_payment_methodby": "Sakuku" + }, + "qris_api_version_code": "2206091709" + } + + @freeze_time("2024-02-27 04:15:00") + def test_qris_qr_code_generation(self): + """ QR-Code generation conditions: + + - should only come from portal side + - only call the API when the QRIS transaction not found or lasted for > 30 minutes + - if transaction found and < 30 minutes, no API call needed + """ + + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.success_qris_get + ) as patched: + # QR code shouldn't be generated without the context. + result = self.qris_qr_invoice._generate_qr_code() + self.assertIsNone(result) + + # But of course, should be with it. + result = self.qris_qr_invoice.with_context({'is_online_qr': True})._generate_qr_code() + self.assertIsNotNone(result) + + # Confirm that a transaction should be registered on the invoice + qr_details = self.qris_qr_invoice.l10n_id_qris_transaction_ids + self.assertEqual(len(qr_details), 1) + + qris_data = self.success_qris_get['data'] + self.assertEqual(qr_details.qris_invoice_id, qris_data['qris_invoiceid']) + self.assertEqual(qr_details.qris_content, qris_data['qris_content']) + patched.assert_called_once() + + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.success_qris_get + ) as patched: + # Check the API is not called again, as it should reuse the existing QR until it is expired + self.qris_qr_invoice.with_context({'is_online_qr': True})._generate_qr_code() + patched.assert_not_called() + + # Check that if the qr code has expired, we correctly generate a new one. + qr_details.qris_creation_datetime = '2024-02-27 03:00:00' + self.qris_qr_invoice.with_context({'is_online_qr': True})._generate_qr_code() + patched.assert_called_once() + + self.assertEqual(len(self.qris_qr_invoice.l10n_id_qris_transaction_ids), 2) + + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.success_qris_get_second + ): + self.qris_qr_invoice.l10n_id_qris_transaction_ids[-1]['qris_creation_datetime'] = '2024-02-27 03:00:00' + self.qris_qr_invoice.with_context({'is_online_qr': True})._generate_qr_code() + + # Ensure that the l10n_id_latest_qris_content is the new one, while now there are 3 qris transactions linked to the inovice + qr_details = self.qris_qr_invoice.l10n_id_qris_transaction_ids + qris_data = self.success_qris_get_second['data'] + self.assertEqual(qr_details[-1].qris_invoice_id, qris_data['qris_invoiceid']) + self.assertEqual(qr_details[-1].qris_content, qris_data['qris_content']) + + self.assertEqual(len(self.qris_qr_invoice.l10n_id_qris_transaction_ids), 3) + + @freeze_time("2024-02-27 04:15:00") + def test_fetch_payment_status_fail(self): + """ If API return unpaid status """ + + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.success_qris_get + ): + self.qris_qr_invoice.with_context({'is_online_qr': True})._generate_qr_code() + + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.qris_status_fail + ): + self.qris_qr_invoice.action_l10n_id_update_payment_status() + self.assertEqual(self.qris_qr_invoice.payment_state, 'not_paid') + + @freeze_time("2024-02-27 04:15:00") + def test_fetch_payment_status_success(self): + """ If API returns 'paid' status """ + + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.success_qris_get + ): + self.qris_qr_invoice.with_context({'is_online_qr': True})._generate_qr_code() + + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.qris_status_success + ): + self.qris_qr_invoice.action_l10n_id_update_payment_status() + self.assertEqual(self.qris_qr_invoice.payment_state, self.env['account.move']._get_invoice_in_payment_state()) + # Ensure that the message is logged as expected. + self.assertEqual( + self.qris_qr_invoice.message_ids[0].body, + Markup('

This invoice was paid by Zainal Arief using QRIS with the payment method Sakuku.

') + ) + # One of the QRIS transactions linked to the invoice should be paid already + self.assertTrue(any(self.qris_qr_invoice.l10n_id_qris_transaction_ids.mapped('paid'))) + + @freeze_time("2024-02-27 04:15:00") + def test_gc_no_remove_transactions_unpaid_within_30(self): + # Case 2: Unsuccessful, latest transaction is < 30 minutes, should avoid garbage-collection + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.success_qris_get + ): + self.qris_qr_invoice.with_context({'is_online_qr': True})._generate_qr_code() + + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.qris_status_fail + ): + self.qris_qr_invoice.action_l10n_id_update_payment_status() + self.assertEqual(self.env['l10n_id.qris.transaction'].search_count([]), 1) + self.env['l10n_id.qris.transaction']._gc_remove_pointless_qris_transactions() + self.assertEqual(self.env['l10n_id.qris.transaction'].search_count([]), 1) + + @freeze_time("2024-02-27 05:15:00") + def test_gc_remove_transactions_unpaid_after_30(self): + # Case 3: Unsuccessful, latest transaction is > 30 minutes, should be garbage-collected + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.success_qris_get + ): + self.qris_qr_invoice.with_context({'is_online_qr': True})._generate_qr_code() + self.assertEqual(self.env['l10n_id.qris.transaction'].search_count([]), 1) + self.env['l10n_id.qris.transaction']._gc_remove_pointless_qris_transactions() + self.assertEqual(self.env['l10n_id.qris.transaction'].search_count([]), 0) diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/test_qris_transaction.py b/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/test_qris_transaction.py new file mode 100644 index 0000000..4242e58 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/tests/test_qris_transaction.py @@ -0,0 +1,111 @@ + +from odoo.fields import Command +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged +from unittest.mock import patch + + +@tagged('post_install_l10n', 'post_install', '-at_install') +class TestQrisTransaction(AccountTestInvoicingCommon): + """ Testing the behaviours of QRIS Transaction """ + + @classmethod + @AccountTestInvoicingCommon.setup_chart_template('id') + def setUpClass(cls): + super().setUpClass() + cls.invoice = cls.env['account.move'].create({ + 'move_type': 'out_invoice', + 'partner_id': cls.partner_a.id, + 'invoice_date': '2019-05-01', + 'date': '2019-05-01', + 'invoice_line_ids': [ + Command.create({'name': 'line1', 'price_unit': 110.0}), + ], + }) + cls.qris_status_success = { + "status": "success", + "data": { + "qris_status": "paid", + "qris_payment_customername": "Zainal Arief", + "qris_payment_methodby": "Sakuku" + }, + "qris_api_version_code": "2206091709" + } + cls.qris_status_fail = { + "status": "failed", + "data": { + "qris_status": "unpaid" + } + } + + cls.acc_qris_id = cls.env['res.partner.bank'].create({ + 'acc_number': '123456789012345678', + 'partner_id': cls.company_data['company'].partner_id.id, + 'l10n_id_qris_api_key': 'apikey', + 'l10n_id_qris_mid': 'mid', + }) + + # Utility method to help create QRIS transactions + def _create_sample_transaction(self, model, model_id, qris_id, amount, create_at, content): + return self.env['l10n_id.qris.transaction'].create({ + 'model': model, + 'model_id': model_id, + 'qris_invoice_id': qris_id, + 'qris_amount': amount, + 'qris_creation_datetime': create_at, + 'qris_content': content, + }) + + def test_retrieve_backend_record(self): + """ Test the _get_record method to retrieve original record accordingly """ + trx = self._create_sample_transaction( + "account.move", str(self.invoice.id), "11254", 11000, "2024-08-01", "qris_content_sample" + ) + invoice = trx._get_record() + self.assertEqual(invoice, self.invoice) + + def test_latest_transaction(self): + """ Test method _get_latest_transaction""" + self._create_sample_transaction( + "account.move", "1", "11254", 11000, "2024-08-01 03:00:00", "qris_content_sample" + ) + self._create_sample_transaction( + "account.move", "1", "11254", 11000, "2024-08-01 03:00:15", "qris_content_sample_latest" + ) + + trx = self.env['l10n_id.qris.transaction']._get_latest_transaction('account.move', '1') + self.assertTrue( + trx['qris_amount'] == 11000 and trx['qris_content'] == "qris_content_sample_latest" + ) + + def test_l10n_id_get_qris_qr_statuses(self): + """ Test the method _l10n_id_get_qris_qr_statuses """ + + # Create QRIS transaction with 2 entries in invoice details + trx = self._create_sample_transaction( + "account.move", "1", "11253", 11000, "2024-08-01", "qris_content_sample" + ) + trx |= self._create_sample_transaction( + "account.move", "1", "11254", 11000, "2024-08-01", "qris_content_sample" + ) + + # if QRIS returns success, _l10n_id_make_request should only be called once and + # status returned is {'paid': True, 'qr_statuses': [{self.qris_status_success}]} + # and check that the transaction is also paid + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.qris_status_success + ) as patched: + res = trx._l10n_id_get_qris_qr_statuses() + patched.assert_called_once() + self.assertEqual(len(res['qr_statuses']), 1) + success_response = res['qr_statuses'][0] + self.assertTrue(res['paid'] and success_response['qris_payment_customername'] == 'Zainal Arief' and trx[0].paid) + + # if QRIS returns fail for all, _l10n_id_make-request should be called twice and + # status returned is {'paid': False, 'qr_statuses': [{self.qris_status}, {self.qris_status_fail}]} + with patch( + 'odoo.addons.l10n_id.models.res_bank._l10n_id_make_qris_request', return_value=self.qris_status_fail + ) as patched: + res = trx._l10n_id_get_qris_qr_statuses() + self.assertEqual(patched.call_count, 2) + self.assertEqual(len(res['qr_statuses']), 2) diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/views/account_move_views.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/views/account_move_views.xml new file mode 100644 index 0000000..855d524 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/views/account_move_views.xml @@ -0,0 +1,15 @@ + + + + Check QRIS Payment Status + + + + list,kanban,form + code + + if records: + action = records.action_l10n_id_update_payment_status() + + + diff --git a/odoo-bringout-oca-ocb-l10n_id/l10n_id/views/res_bank.xml b/odoo-bringout-oca-ocb-l10n_id/l10n_id/views/res_bank.xml new file mode 100644 index 0000000..6cb169e --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_id/l10n_id/views/res_bank.xml @@ -0,0 +1,16 @@ + + + + + res.partner.bank.form.inherit.account + res.partner.bank + + + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_id/pyproject.toml b/odoo-bringout-oca-ocb-l10n_id/pyproject.toml index e02f53b..1f1e854 100644 --- a/odoo-bringout-oca-ocb-l10n_id/pyproject.toml +++ b/odoo-bringout-oca-ocb-l10n_id/pyproject.toml @@ -1,15 +1,16 @@ [project] name = "odoo-bringout-oca-ocb-l10n_id" version = "16.0.0" -description = "Indonesian - Accounting - Odoo addon" +description = "Indonesian - Accounting - + Odoo addon + " authors = [ { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } ] dependencies = [ - "odoo-bringout-oca-ocb-account>=16.0.0", - "odoo-bringout-oca-ocb-base_iban>=16.0.0", - "odoo-bringout-oca-ocb-base_vat>=16.0.0", - "odoo-bringout-oca-ocb-l10n_multilang>=16.0.0", + "odoo-bringout-oca-ocb-account>=19.0.0", + "odoo-bringout-oca-ocb-base_iban>=19.0.0", + "odoo-bringout-oca-ocb-base_vat>=19.0.0", "requests>=2.25.1" ] readme = "README.md" @@ -19,7 +20,7 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", ] diff --git a/odoo-bringout-oca-ocb-l10n_in/README.md b/odoo-bringout-oca-ocb-l10n_in/README.md index 30b1652..89c358c 100644 --- a/odoo-bringout-oca-ocb-l10n_in/README.md +++ b/odoo-bringout-oca-ocb-l10n_in/README.md @@ -21,38 +21,18 @@ pip install odoo-bringout-oca-ocb-l10n_in ## Dependencies -This addon depends on: - account_tax_python - base_vat - -## Manifest Information - -- **Name**: Indian - Accounting -- **Version**: 2.0 -- **Category**: Accounting/Localizations/Account Charts -- **License**: LGPL-3 -- **Installable**: False +- account_debit_note +- account +- iap ## Source -Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_in`. +- Repository: https://github.com/OCA/OCB +- Branch: 19.0 +- Path: addons/l10n_in ## License -This package maintains the original LGPL-3 license from the upstream Odoo project. - -## Documentation - -- Overview: doc/OVERVIEW.md -- Architecture: doc/ARCHITECTURE.md -- Models: doc/MODELS.md -- Controllers: doc/CONTROLLERS.md -- Wizards: doc/WIZARDS.md -- Reports: doc/REPORTS.md -- Security: doc/SECURITY.md -- Install: doc/INSTALL.md -- Usage: doc/USAGE.md -- Configuration: doc/CONFIGURATION.md -- Dependencies: doc/DEPENDENCIES.md -- Troubleshooting: doc/TROUBLESHOOTING.md -- FAQ: doc/FAQ.md +This package preserves the original LGPL-3 license. diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/__init__.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/__init__.py index 5320d2b..fcf6b17 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/__init__.py @@ -3,3 +3,12 @@ from . import models from . import demo +from . import wizard + +def init_settings(env): + # Activate cash rounding by default for all companies as soon as the module is installed. + group_user = env.ref('base.group_user').sudo() + group_user._apply_group(env.ref('account.group_cash_rounding')) + +def post_init(env): + init_settings(env) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/__manifest__.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/__manifest__.py index 82291e7..6aaf070 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/__manifest__.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/__manifest__.py @@ -1,8 +1,9 @@ -# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. - { 'name': 'Indian - Accounting', + 'website': 'https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/india.html', + 'icon': '/account/static/description/l10n.png', + 'countries': ['in'], 'version': '2.0', 'description': """ Indian Accounting: Chart of Account. @@ -18,40 +19,61 @@ Sheet, now only Vertical format has been permitted Which is Supported By Odoo. """, 'category': 'Accounting/Localizations/Account Charts', 'depends': [ - 'account_tax_python', 'base_vat', + 'account_tax_python', + 'base_vat', + 'account_debit_note', + 'account', + 'iap', ], + 'auto_install': ['account'], 'data': [ 'security/l10n_in_security.xml', 'security/ir.model.access.csv', - 'data/account_tax_group_data.xml', + "data/iap_service_data.xml", 'data/account.account.tag.csv', 'data/l10n_in_chart_data.xml', - 'data/account.account.template.csv', - 'data/l10n_in_chart_post_data.xml', - 'data/account_tax_template_data.xml', - 'data/account_fiscal_position_data.xml', 'data/l10n_in.port.code.csv', 'data/res_country_state_data.xml', + 'data/res_country_group.xml', 'data/uom_data.xml', + 'data/res_partner_industry.xml', + 'data/account_cash_rounding.xml', + 'data/account_tax_report_tcs_data.xml', + 'data/account_tax_report_tds_data.xml', + 'data/l10n_in.section.alert.csv', + 'wizard/l10n_in_withhold_wizard.xml', + 'views/l10n_in_pan_entity_views.xml', + 'views/l10n_in_section_alert_views.xml', + 'views/account_account_views.xml', 'views/account_invoice_views.xml', + 'views/account_move_line_views.xml', + 'views/account_payment_views.xml', 'views/account_journal_views.xml', 'views/res_config_settings_views.xml', 'views/product_template_view.xml', 'views/port_code_views.xml', + 'views/res_company_views.xml', 'views/report_invoice.xml', 'views/res_country_state_view.xml', 'views/res_partner_views.xml', 'views/account_tax_views.xml', 'views/uom_uom_views.xml', - 'views/report_template.xml', - 'data/account_chart_template_data.xml', - 'report/audit_trail_report_views.xml', ], 'demo': [ - 'demo/demo_company.xml', - 'demo/res_partner_demo.xml', 'demo/product_demo.xml', - 'demo/account_invoice_demo.xml', + 'demo/demo_company.xml', ], + 'post_init_hook': 'post_init', + 'author': 'Odoo S.A.', 'license': 'LGPL-3', + 'assets': { + 'web.assets_backend': [ + 'l10n_in/static/src/components/**/*', + 'l10n_in/static/src/helpers/*.js', + ], + 'web.assets_frontend': [ + 'l10n_in/static/src/components/tests_shared_js_python/*', + 'l10n_in/static/src/helpers/*.js', + ], + }, } diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account.account.tag.csv b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account.account.tag.csv index 0844ab8..c233202 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account.account.tag.csv +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account.account.tag.csv @@ -1,47 +1,16 @@ -"id","name","applicability" -"tax_tag_base_sgst","BASE SGST","taxes" -"tax_tag_base_cgst","BASE CGST","taxes" -"tax_tag_base_igst","BASE IGST","taxes" -"tax_tag_non_itc_base_sgst","NON ITC BASE SGST","taxes" -"tax_tag_non_itc_base_cgst","NON ITC BASE CGST","taxes" -"tax_tag_non_itc_base_igst","NON ITC BASE IGST","taxes" -"tax_tag_other_non_itc_base_sgst","Other NON ITC BASE SGST","taxes" -"tax_tag_other_non_itc_base_cgst","Other NON ITC BASE CGST","taxes" -"tax_tag_other_non_itc_base_igst","Other NON ITC BASE IGST","taxes" -"tax_tag_base_cess","BASE CESS","taxes" -"tax_tag_base_state_cess","BASE STATE CESS","taxes" -"tax_tag_non_itc_base_cess","NON ITC BASE CESS","taxes" -"tax_tag_other_non_itc_base_cess","Other NON ITC BASE CESS","taxes" -"tax_tag_exempt","EXEMPT","taxes" -"tax_tag_nil_rated","NIL-RATED","taxes" -"tax_tag_zero_rated","ZERO-RATED","taxes" -"tax_tag_non_gst_supplies","NON GST SUPPLIES","taxes" -"tax_tag_base_sgst_rc","BASE SGST (RC)","taxes" -"tax_tag_base_cgst_rc","BASE CGST (RC)","taxes" -"tax_tag_base_igst_rc","BASE IGST (RC)","taxes" -"tax_tag_base_cess_rc","BASE CESS (RC)","taxes" -"tax_tag_sgst","SGST","taxes" -"tax_tag_cgst","CGST","taxes" -"tax_tag_igst","IGST","taxes" -"tax_tag_non_itc_sgst","NON ITC SGST","taxes" -"tax_tag_non_itc_cgst","NON ITC CGST","taxes" -"tax_tag_non_itc_igst","NON ITC IGST","taxes" -"tax_tag_other_non_itc_sgst","Other NON ITC SGST","taxes" -"tax_tag_other_non_itc_cgst","Other NON ITC CGST","taxes" -"tax_tag_other_non_itc_igst","Other NON ITC IGST","taxes" -"tax_tag_cess","CESS","taxes" -"tax_tag_state_cess","STATE CESS","taxes" -"tax_tag_non_itc_cess","NON ITC CESS","taxes" -"tax_tag_other_non_itc_cess","Other NON ITC CESS","taxes" -"tax_tag_sgst_rc","SGST (RC)","taxes" -"tax_tag_cgst_rc","CGST (RC)","taxes" -"tax_tag_igst_rc","IGST (RC)","taxes" -"tax_tag_non_itc_sgst_rc","NON ITC SGST (RC)","taxes" -"tax_tag_non_itc_cgst_rc","NON ITC CGST (RC)","taxes" -"tax_tag_non_itc_igst_rc","NON ITC IGST (RC)","taxes" -"tax_tag_other_non_itc_sgst_rc","Other NON ITC SGST (RC)","taxes" -"tax_tag_other_non_itc_cgst_rc","Other NON ITC CGST (RC)","taxes" -"tax_tag_other_non_itc_igst_rc","Other NON ITC IGST (RC)","taxes" -"tax_tag_cess_rc","CESS (RC)","taxes" -"tax_tag_non_itc_cess_rc","NON ITC CESS (RC)","taxes" -"tax_tag_other_non_itc_cess_rc","Other NON ITC CESS (RC)","taxes" +"id","name","applicability","country_id/id" +"tax_tag_base_sgst","BASE SGST","taxes","base.in" +"tax_tag_base_cgst","BASE CGST","taxes","base.in" +"tax_tag_base_igst","BASE IGST","taxes","base.in" +"tax_tag_base_cess","BASE CESS","taxes","base.in" +"tax_tag_base_state_cess","BASE STATE CESS","taxes","base.in" +"tax_tag_sgst","SGST","taxes","base.in" +"tax_tag_cgst","CGST","taxes","base.in" +"tax_tag_igst","IGST","taxes","base.in" +"tax_tag_cess","CESS","taxes","base.in" +"tax_tag_state_cess","STATE CESS","taxes","base.in" +"tax_tag_non_itc","NON ITC","taxes","base.in" +"tax_tag_other_non_itc","Other NON ITC","taxes","base.in" +"tax_tag_eco_9_5","ECO 9(5)","taxes","base.in" +"tax_tag_eco_tcs_52","ECO TCS 52","taxes","base.in" +"account_tag_closing_stock","Closing Stock","accounts","base.in" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account.account.template.csv b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account.account.template.csv deleted file mode 100644 index 47c854f..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account.account.template.csv +++ /dev/null @@ -1,69 +0,0 @@ -"id","name","code","account_type","chart_template_id/id","tag_ids/id","reconcile" -"p10031","Inventories","10031","asset_current","l10n_in.indian_chart_template_standard","","False" -"p10040","Debtors","10040","asset_receivable","l10n_in.indian_chart_template_standard","","True" -"p10041","Debtors (PoS)","10041","asset_receivable","l10n_in.indian_chart_template_standard","","True" -"p10051","SGST Receivable","10051","asset_current","l10n_in.indian_chart_template_standard","l10n_in.sgst_tag_account","False" -"p10052","CGST Receivable","10052","asset_current","l10n_in.indian_chart_template_standard","l10n_in.cgst_tag_account","False" -"p10053","IGST Receivable","10053","asset_current","l10n_in.indian_chart_template_standard","l10n_in.igst_tag_account","False" -"p10057","Reverse Charge Tax Receivable","10057","asset_current","l10n_in.indian_chart_template_standard","","False" -"p10054","TDS Receivable","10058","asset_current","l10n_in.indian_chart_template_standard","","False" -"p10059","Tax Current Account - Receivable","10059","asset_current","l10n_in.indian_chart_template_standard","","False" -"p10061","Deposit Account","10061","asset_current","l10n_in.indian_chart_template_standard","","False" -"p10071","Prepaid Insurance","10071","asset_current","l10n_in.indian_chart_template_standard","","False" -"p1011","Buildings","1011","asset_fixed","l10n_in.indian_chart_template_standard","","False" -"p1012","Land","1012","asset_fixed","l10n_in.indian_chart_template_standard","","False" -"p1013","Equipments","1013","asset_fixed","l10n_in.indian_chart_template_standard","","False" -"p1014","Vehicle","1014","asset_fixed","l10n_in.indian_chart_template_standard","","False" -"p1015","Computer/Laptops (Assets)","1015","asset_fixed","l10n_in.indian_chart_template_standard","","False" -"p1016","Furniture","1016","asset_fixed","l10n_in.indian_chart_template_standard","","False" -"p1017","Air Conditionar","1017","asset_fixed","l10n_in.indian_chart_template_standard","","False" -"p1018","Misc Assets","1018","asset_fixed","l10n_in.indian_chart_template_standard","","False" -"p1111","Capital Account","1111","liability_current","l10n_in.indian_chart_template_standard","","False" -"p1112","Reserve And Surplus Account","1112","liability_current","l10n_in.indian_chart_template_standard","","False" -"p11211","Creditors","11211","liability_payable","l10n_in.indian_chart_template_standard","","True" -"p11221","Bank OD Account","11221","liability_current","l10n_in.indian_chart_template_standard","","False" -"p11222","Secured Loan Account","11222","liability_current","l10n_in.indian_chart_template_standard","","False" -"p11223","Unsecured Loan Account","11223","liability_current","l10n_in.indian_chart_template_standard","","False" -"p11231","TDS Payable","11231","liability_current","l10n_in.indian_chart_template_standard","","False" -"p11232","SGST Payable","11232","liability_current","l10n_in.indian_chart_template_standard","l10n_in.sgst_tag_account","False" -"p11233","CGST Payable","11233","liability_current","l10n_in.indian_chart_template_standard","l10n_in.cgst_tag_account","False" -"p11234","IGST Payable","11234","liability_current","l10n_in.indian_chart_template_standard","l10n_in.igst_tag_account","False" -"p11239","Tax Current Account - Payable","11239","liability_current","l10n_in.indian_chart_template_standard","","False" -"p11241","Wages Payable","11241","liability_current","l10n_in.indian_chart_template_standard","","False" -"p11242","Interest Payable","11242","liability_current","l10n_in.indian_chart_template_standard","","False" -"p11243","Notes Payable","11243","liability_current","l10n_in.indian_chart_template_standard","","False" -"p20011","Local Sales","20011","income","l10n_in.indian_chart_template_standard","","False" -"p20012","Retail Sales","20012","income","l10n_in.indian_chart_template_standard","","False" -"p20013","Export Sales","20013","income","l10n_in.indian_chart_template_standard","","False" -"p20021","Local Services","20021","income","l10n_in.indian_chart_template_standard","","False" -"p20022","Export Services","20022","income","l10n_in.indian_chart_template_standard","","False" -"p2010","Interest Revenues","2010","income","l10n_in.indian_chart_template_standard","","False" -"p2011","Gain on Sale of Assets","2011","income","l10n_in.indian_chart_template_standard","","False" -"2012","Write off Income","2012","income","l10n_in.indian_chart_template_standard","","False" -"p2013","Foreign Exchange Profit","2013","income_other","l10n_in.indian_chart_template_standard","","False" -"p2100","Electricity Expense","2100","expense","l10n_in.indian_chart_template_standard","","False" -"p2101","Salary Expense","2101","expense","l10n_in.indian_chart_template_standard","","False" -"p2102","Office Rent","2102","expense","l10n_in.indian_chart_template_standard","","False" -"p2103","House Keeping Expense","2103","expense","l10n_in.indian_chart_template_standard","","False" -"p2104","Postage And Courier Expense","2104","expense","l10n_in.indian_chart_template_standard","","False" -"p2105","Internet Expense","2105","expense","l10n_in.indian_chart_template_standard","","False" -"p2106","Telephone Expense","2106","expense","l10n_in.indian_chart_template_standard","","False" -"p2107","Purchase Expense","2107","expense","l10n_in.indian_chart_template_standard","","False" -"p2108","Computer/Laptop Accessories","2108","expense","l10n_in.indian_chart_template_standard","","False" -"p2109","News Paper And Magazine","2109","expense","l10n_in.indian_chart_template_standard","","False" -"p2110","Business Promotion","2110","expense","l10n_in.indian_chart_template_standard","","False" -"p2111","Entertainment Expense","2111","expense","l10n_in.indian_chart_template_standard","","False" -"p2112","Professional Services","2112","expense","l10n_in.indian_chart_template_standard","","False" -"p2113","Bank Charges","2113","asset_cash","l10n_in.indian_chart_template_standard","","False" -"p2114","Diwali Bonus/Gift","2114","expense","l10n_in.indian_chart_template_standard","","False" -"p2115","Parts Purchase","2115","expense","l10n_in.indian_chart_template_standard","","False" -"p2116","Repairing Expense","2116","expense","l10n_in.indian_chart_template_standard","","False" -"p2117","Foreign Exchange Loss","2117","expense","l10n_in.indian_chart_template_standard","","False" -"p21181","Sales Commission Expense","21181","expense","l10n_in.indian_chart_template_standard","","False" -"p21182","Stationary Expense","21182","expense","l10n_in.indian_chart_template_standard","","False" -"p21183","Travelling Expense","21183","expense","l10n_in.indian_chart_template_standard","","False" -"p2121","Opening Stock","2121","expense","l10n_in.indian_chart_template_standard","","False" -"p2122","Purchase Stock","2122","expense","l10n_in.indian_chart_template_standard","","False" -"p2123","Closing Stock","2123","expense","l10n_in.indian_chart_template_standard","","False" -"p2131","Loss on Sale of Assets","2131","expense","l10n_in.indian_chart_template_standard","","False" -"p2132","Write Off Expense","2132","expense","l10n_in.indian_chart_template_standard","","False" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_cash_rounding.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_cash_rounding.xml new file mode 100644 index 0000000..167168e --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_cash_rounding.xml @@ -0,0 +1,7 @@ + + + + Half Up + 1 + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_chart_template_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_chart_template_data.xml deleted file mode 100644 index 5a035de..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_chart_template_data.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_fiscal_position_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_fiscal_position_data.xml deleted file mode 100644 index 169c309..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_fiscal_position_data.xml +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - Inter State - - - - - Export - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reverse charge Intra State - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reverse charge Inter State - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_group_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_group_data.xml deleted file mode 100644 index caed33a..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_group_data.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - SGST - - - - CGST - - - - IGST - - - - CESS - - - - GST - - - - Exempt - - - - Nil Rated - - - - Non GST Supplies - - - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_report_tcs_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_report_tcs_data.xml new file mode 100644 index 0000000..7a9746b --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_report_tcs_data.xml @@ -0,0 +1,159 @@ + + + + TCS Report + + + + country + + + Balance + balance + + + + + Section 206C(1): Alcoholic Liquor for human consumption + + + balance + tax_tags + -206C(1) Alcoholic Liquor + + + + + Section 206C(1): Tendu leaves + + + balance + tax_tags + -206C(1) Tendu leaves + + + + + Section 206C(1): Timber obtained under a forest lease + + + balance + tax_tags + -206C(1) Timber (forest lease) + + + + + Section 206C(1): Timber obtained by any mode other than under a forest lease + + + balance + tax_tags + -206C(1) Timber (other than under a forest lease) + + + + + Section 206C(1): Any other forest produce not being timber or tendu leaves + + + balance + tax_tags + -206C(1) other forest produce + + + + + Section 206C(1): Scrap + + + balance + tax_tags + -206C(1) Scrap + + + + + Section 206C(1): Minrals, being coal or lignite or iron ore + + + balance + tax_tags + -206C(1) Minrals + + + + + Section 206C(1C): Parking lot + + + balance + tax_tags + -206C(1C) Parking lot + + + + + Section 206C(1C): Toll plaza + + + balance + tax_tags + -206C(1C) Toll plaza + + + + + Section 206C(1C): Mining and quarrying + + + balance + tax_tags + -206C(1C) Mining and quarrying + + + + + Section 206C(1F): Motor Vehicle + + + balance + tax_tags + -206C(1F) + + + + + Section 206C(1G): Sum of money (above 7 lakhs) for remittance out of India + + + balance + tax_tags + -206C(1G) remittance out of India + + + + + Section 206C(1G): Seller of an overseas tour program package + + + balance + tax_tags + -206C(1G) overseas tour program + + + + + Section 206C(1H): Sale of Goods + + + + balance + tax_tags + 206C(1H) + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_report_tds_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_report_tds_data.xml new file mode 100644 index 0000000..5dffb84 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_report_tds_data.xml @@ -0,0 +1,328 @@ + + + + TDS Report + + + + country + + + Balance + balance + + + + + Section 192: Payment of salary + + + balance + tax_tags + -192 + + + + + Section 192A: Payment of accumulated balance of provident fund which is taxable in the hands of an employee + + + balance + tax_tags + -192A + + + + + Section 193: Interest on securities + + + balance + tax_tags + -193 + + + + + Section 194: Income by way of dividend + + + balance + tax_tags + -194 + + + + + Section 194A: Income by way of interest other than "Interest on securities" + + + balance + tax_tags + -194A + + + + + Section 194B: Income by way of winnings from lotteries, crossword puzzles, card games and other games of any sort + + + balance + tax_tags + -194B + + + + + Section 194BB: Income by way of winnings from horse races + + + balance + tax_tags + -194BB + + + + + Section 194C: Payment to contractor/sub-contractor + + + balance + tax_tags + -194C + + + + + Section 194D: Insurance commission + + + balance + tax_tags + -194D + + + + + Section 194DA: Payment in respect of life insurance policy + + + balance + tax_tags + -194DA + + + + + Section 194E: Payment to non-resident sportsmen/sports association + + + balance + tax_tags + -194E + + + + + Section 194EE: Payment in respect of deposit under National Savings scheme + + + balance + tax_tags + -194EE + + + + + Section 194F: Payment on account of repurchase of unit by Mutual Fund or Unit Trust of India + + + balance + tax_tags + -194F + + + + + Section 194G: Commission, etc., on sale of lottery tickets + + + balance + tax_tags + -194G + + + + + Section 194H: Commission or brokerage + + + balance + tax_tags + -194H + + + + + Section 194-I: Rent + + + balance + tax_tags + -194I + + + + + Section 194-IA: Payment on transfer of certain immovable property other than agricultural land + + + balance + tax_tags + -194IA + + + + + Section 194-IB: Payment of rent by individual or HUF not liable to tax audit + + + balance + tax_tags + -194IB + + + + + Section 194-IC: Payment of monetary consideration under Joint Development Agreements + + + balance + tax_tags + -194IC + + + + + Section 194J: Fees for professional or technical services + + + balance + tax_tags + -194J + + + + + Section 194K: Income in respect of units payable to resident person + + + balance + tax_tags + -194K + + + + + Section 194LA: Payment of compensation on acquisition of certain immovable property + + + balance + tax_tags + -194LA + + + + + Section 194LBA(1): Business trust shall deduct tax while distributing, any interest received or receivable by it from a SPV or any income received from renting or leasing or letting out any real estate asset owned directly by it, to its unit holders. + + + balance + tax_tags + -194LBA(1) + + + + + Section 194LB: Payment of interest on infrastructure debt fund + + + balance + tax_tags + -194LB + + + + + Section 194LBB: Investment fund paying an income to a unit holder [other than income which is exempt under Section 10(23FBB)] + + + balance + tax_tags + -194LBB + + + + + Section 194LBC: Income in respect of investment made in a securitisation trust (specified in Explanation of section115TCA) + + + balance + tax_tags + -194LBC + + + + + Section 194M: Payment of commission (not being insurance commission), brokerage, contractual fee, professional fee to a resident person by an Individual or a HUF who are not liable to deduct TDS under section 194C, 194H, or 194J. + + + balance + tax_tags + -194M + + + + + Section 194N: Cash withdrawal during the previous year from one or more account maintained by a person with a banking company, co-operative society engaged in business of banking or a post office + + + balance + tax_tags + -194N + + + + + Section 194-O: Payment or credit of amount by the e-commerce operator to e-commerce participant + + + balance + tax_tags + -194O + + + + + Section 194Q: Purchase of goods + + + balance + tax_tags + -194Q + + + + + Section 195: Payment of any other sum to a Non -resident + + + balance + tax_tags + -195 + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_template_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_template_data.xml deleted file mode 100644 index c4c9ace..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/account_tax_template_data.xml +++ /dev/null @@ -1,2616 +0,0 @@ - - - - CESS Sale 5% - CESS 5% - none - percent - 5 - - - - - - - - - CESS Sale 1591 Per Thousand - 1591 PER THOUSAND - none - fixed - 1.591 - - - - - - - - - CESS 5%+1.591 - CESS 5%+1.591 - sale - group - 0 - - - - - - CESS 21% or 4.170 - CESS 21% or 4.170 - sale - code - 0 - result=base_amount * 0.21 -tax=quantity * 4.17 -if tax > result:result=tax - - - - - - - Exempt Sale - Exempt - sale - percent - 0 - - - - - - - Nil Rated - Nil Rated - sale - percent - 0 - - - - - - - Non GST Supplies - Non GST Supplies - sale - percent - 0 - - - - - - - IGST 0% - IGST 0% - sale - percent - 0 - - - - - - - IGST 1% - IGST 1% - sale - - - percent - 1 - - - - - - - IGST 2% - IGST 2% - sale - - - percent - 2 - - - - - - - IGST 28% - IGST 28% - sale - - - percent - 28 - - - - - - - IGST 18% - IGST 18% - sale - - - percent - 18 - - - - - - - IGST 12% - IGST 12% - sale - - - percent - 12 - - - - - - - IGST 5% - IGST 5% - sale - - - percent - 5 - - - - - - - SGST Sale 0.5% - SGST 0.5% - none - percent - 0.5 - - - - - - - - - CGST Sale 0.5% - CGST 0.5% - none - percent - 0.5 - - - - - - - - - GST 1% - GST 1% - sale - group - 1.0 - - - - - - SGST Sale 1% - SGST 1% - none - percent - 1 - - - - - - - - - CGST Sale 1% - CGST 1% - none - percent - 1 - - - - - - - - - GST 2% - GST 2% - sale - group - 2.0 - - - - - - SGST Sale 14% - SGST 14% - none - percent - 14 - - - - - - - - - CGST Sale 14% - CGST 14% - none - percent - 14 - - - - - - - - - GST 28% - GST 28% - sale - group - 28.0 - - - - - - SGST Sale 9% - SGST 9% - none - percent - 9 - - - - - - - - - CGST Sale 9% - CGST 9% - none - percent - 9 - - - - - - - - - GST 18% - GST 18% - sale - group - 18.0 - - - - - - SGST Sale 6% - SGST 6% - none - percent - 6 - - - - - - - - - CGST Sale 6% - CGST 6% - none - percent - 6 - - - - - - - - - GST 12% - GST 12% - sale - group - 12.0 - - - - - - SGST Sale 2.5% - SGST 2.5% - none - percent - 2.5 - - - - - - - - - CGST Sale 2.5% - CGST 2.5% - none - percent - 2.5 - - - - - - - - - GST 5% - GST 5% - sale - group - 5.0 - - - 0 - - - - CESS Purchase 5% - CESS 5% - none - percent - 5 - - - - - - - CESS Purchase 1591 Per Thousand - 1591 PER THOUSAND - none - fixed - 1.591 - - - - - - - CESS 5%+1.591 - CESS 5%+1.591 - purchase - group - 0 - - - - - - CESS 21% or 4.170 - CESS 21% or 4.170 - purchase - code - 0 - result=base_amount * 0.21 -tax=quantity * 4.17 -if tax > result:result=tax - - - - - - - Exempt purchase - Exempt - purchase - percent - 0 - - - - - - - Nil Rated - Nil Rated - purchase - percent - 0 - - - - - - - IGST 0% - IGST 0% - purchase - percent - 0 - - - - - - - IGST 1% - IGST 1% - purchase - percent - 1 - - - - - - - IGST 2% - IGST 2% - purchase - percent - 2 - - - - - - - IGST 28% - IGST 28% - purchase - percent - 28 - - - - - - - IGST 18% - IGST 18% - purchase - percent - 18 - - - - - - - IGST 12% - IGST 12% - purchase - percent - 12 - - - - - - - IGST 5% - IGST 5% - purchase - percent - 5 - - - - - - - SGST Purchase 0.5% - SGST 0.5% - none - percent - 0.5 - - - - - - - CGST Purchase 0.5% - CGST 0.5% - none - percent - 0.5 - - - - - - - GST 1% - GST 1% - purchase - group - 1.0 - - - - - - SGST Purchase 1% - SGST 1% - none - percent - 1 - - - - - - - CGST Purchase 1% - CGST 1% - none - percent - 1 - - - - - - - GST 2% - GST 2% - purchase - group - 2.0 - - - - - - SGST Purchase 14% - SGST 14% - none - percent - 14 - - - - - - - CGST Purchase 14% - CGST 14% - none - percent - 14 - - - - - - - GST 28% - GST 28% - purchase - group - 28.0 - - - - - - SGST Purchase 9% - SGST 9% - none - percent - 9 - - - - - - - CGST Purchase 9% - CGST 9% - none - percent - 9 - - - - - - - GST 18% - GST 18% - purchase - group - 18.0 - - - - - - SGST Purchase 6% - SGST 6% - none - percent - 6 - - - - - - - CGST Purchase 6% - CGST 6% - none - percent - 6 - - - - - - - GST 12% - GST 12% - purchase - group - 12.0 - - - - - - SGST Purchase 2.5% - SGST 2.5% - none - percent - 2.5 - - - - - - - CGST Purchase 2.5% - CGST 2.5% - none - percent - 2.5 - - - - - - - GST 5% - GST 5% - purchase - group - 5.0 - - - 0 - - - - CESS Purchase 5% (RC) - CESS 5% - none - percent - 5 - - - - - - - - CESS Purchase 1591 Per Thousand (RC) - 1591 PER THOUSAND - none - fixed - 1.591 - - - - - - - - CESS 5%+1.591 - CESS 5%+1.591 - purchase - group - 0 - - - - - - - CESS 21% or 4.170 - CESS 21% or 4.170 - purchase - code - 0 - result=base_amount * 0.21 -tax=quantity * 4.17 -if tax > result:result=tax - - - - - - - - IGST 1% (RC) - IGST 1% - purchase - percent - 1 - - - - - - - - IGST 2% (RC) - IGST 2% - purchase - percent - 2 - - - - - - - - IGST 28% (RC) - IGST 28% - purchase - percent - 28 - - - - - - - - IGST 18% (RC) - IGST 18% - purchase - percent - 18 - - - - - - - - IGST 12% (RC) - IGST 12% - purchase - percent - 12 - - - - - - - - IGST 5% (RC) - IGST 5% - purchase - percent - 5 - - - - - - - - SGST Purchase 0.5% (RC) - SGST 0.5% - none - percent - 0.5 - - - - - - - - CGST Purchase 0.5% (RC) - CGST 0.5% - none - percent - 0.5 - - - - - - - - GST 1% (RC) - GST 1% - purchase - group - 1.0 - - - - - - - SGST Purchase 1% (RC) - SGST 1% - none - percent - 1 - - - - - - - - CGST Purchase 1% (RC) - CGST 1% - none - percent - 1 - - - - - - - - GST 2% (RC) - GST 2% - purchase - group - 2.0 - - - - - - - SGST Purchase 14% (RC) - SGST 14% - none - percent - 14 - - - - - - - - CGST Purchase 14% (RC) - CGST 14% - none - percent - 14 - - - - - - - - GST 28% (RC) - GST 28% - purchase - group - 28.0 - - - - - - - SGST Purchase 9% (RC) - SGST 9% - none - percent - 9 - - - - - - - - CGST Purchase 9% (RC) - CGST 9% - none - percent - 9 - - - - - - - - GST 18% (RC) - GST 18% - purchase - group - 18.0 - - - - - - - SGST Purchase 6% (RC) - SGST 6% - none - percent - 6 - - - - - - - - CGST Purchase 6% (RC) - CGST 6% - none - percent - 6 - - - - - - - - GST 12% (RC) - GST 12% - purchase - group - 12.0 - - - - - - - SGST Purchase 2.5% (RC) - SGST 2.5% - none - percent - 2.5 - - - - - - - - CGST Purchase 2.5% (RC) - CGST 2.5% - none - percent - 2.5 - - - - - - - - GST 5% (RC) - GST 5% - purchase - group - 5.0 - - - - 0 - - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/iap_service_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/iap_service_data.xml new file mode 100644 index 0000000..db2454f --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/iap_service_data.xml @@ -0,0 +1,12 @@ + + + + + Indian EDI + l10n_in_edi + Send electronic document to Indian government + Credits + True + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in.section.alert.csv b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in.section.alert.csv new file mode 100644 index 0000000..8a9b440 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in.section.alert.csv @@ -0,0 +1,48 @@ +"id","name","consider_amount","is_per_transaction_limit","per_transaction_limit","is_aggregate_limit","aggregate_limit","aggregate_period","tax_source_type","tax_report_line_id/id" +"tds_section_192","192","untaxed_amount","","","","","fiscal_yearly","tds","l10n_in.tds_report_line_section_192" +"tds_section_192a","192A","untaxed_amount","","","True","50000","fiscal_yearly","tds","l10n_in.tds_report_line_section_192a" +"tds_section_193","193","untaxed_amount","","","True","5000","fiscal_yearly","tds","l10n_in.tds_report_line_section_193" +"tds_section_194","194","untaxed_amount","","","True","5000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194" +"tds_section_194a","194A","untaxed_amount","","","True","5000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194a" +"tds_section_194b","194B","untaxed_amount","","","True","10000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194b" +"tds_section_194ba","194BA","untaxed_amount","","","True","0","fiscal_yearly","tds","" +"tds_section_194bb","194BB","untaxed_amount","","","True","10000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194bb" +"tds_section_194c","194C","untaxed_amount","True","30000","True","100000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194c" +"tds_section_194d","194D","untaxed_amount","","","True","15000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194d" +"tds_section_194da","194DA","untaxed_amount","","","True","100000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194da" +"tds_section_194e","194E","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_194e" +"tds_section_194ee","194EE","untaxed_amount","","","True","2500","fiscal_yearly","tds","l10n_in.tds_report_line_section_194ee" +"tds_section_194f","194F","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_194f" +"tds_section_194g","194G","untaxed_amount","","","True","15000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194g" +"tds_section_194h","194H","untaxed_amount","","","True","15000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194h" +"tds_section_194i","194I","untaxed_amount","","","True","240000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194i" +"tds_section_194ia","194IA","untaxed_amount","True","5000000","","","fiscal_yearly","tds","l10n_in.tds_report_line_section_194ia" +"tds_section_194ib","194IB","untaxed_amount","","","True","50000","monthly","tds","l10n_in.tds_report_line_section_194ib" +"tds_section_194ic","194IC","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_194ic" +"tds_section_194j","194J","untaxed_amount","","","True","30000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194j" +"tds_section_194j_dir","194J(DIRECTORS)","untaxed_amount","","","True","0","fiscal_yearly","tds","" +"tds_section_194k","194K","untaxed_amount","","","True","5000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194k" +"tds_section_194la","194LA","untaxed_amount","","","True","250000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194la" +"tds_section_194lba1","194LBA(1)","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_194lba" +"tds_section_194lbb","194LBB","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_194lbb" +"tds_section_194lb","194LB","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_194lb" +"tds_section_194lbc","194LBC","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_194lbc" +"tds_section_194m","194M","untaxed_amount","","","True","5000000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194m" +"tds_section_194n","194N","untaxed_amount","","","True","10000000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194n" +"tds_section_194o_huf","194O(HUF)","untaxed_amount","","","True","500000","fiscal_yearly","tds","" +"tds_section_194o","194O","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_194o" +"tds_section_194q","194Q","untaxed_amount","","","True","5000000","fiscal_yearly","tds","l10n_in.tds_report_line_section_194q" +"tds_section_195","195","untaxed_amount","","","True","0","fiscal_yearly","tds","l10n_in.tds_report_line_section_195" +"tcs_section_206c1_alc","206C(1) Liquor","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1_alfhc" +"tcs_section_206c1_tl","206C(1) Tendu leaves","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1_tl" +"tcs_section_206c1_tim","206C(1) Timber woods(FL)","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1_touafl" +"tcs_section_206c1_tim_o","206C(1) Timber woods","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1_tobaotuafl" +"tcs_section_206c1_fo","206C(1) OFP","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1_aofpnbtotl" +"tcs_section_206c1_sc","206C(1) Scrap","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1_s" +"tcs_section_206c1_min","206C(1) Min","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1_mbcoloio" +"tcs_section_206c1c_p","206C(1C) Parking lot","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1c_pl" +"tcs_section_206c1c_t","206C(1C) Toll plaza","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1c_tp" +"tcs_section_206c1c_mq","206C(1C) MQ","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1c_maq" +"tcs_section_206c1f_mv","206C(1F) Motor Vehicle","total_amount","True","1000000","","","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1f_mv" +"tcs_section_206c1g_r","206C(1G) Remittance","total_amount","","","True","700000","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1g_som" +"tcs_section_206c1g_ot","206C(1G) Overseas Tour","total_amount","","","True","0","fiscal_yearly","tcs","l10n_in.tcs_report_line_section_206c_1g_soaotpp" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in_chart_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in_chart_data.xml index 8e91d96..d030b08 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in_chart_data.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in_chart_data.xml @@ -1,61 +1,25 @@ - - - - Indian Chart of Accounts - Standard - 1002 - 1001 - 1008 - 6 - - - + SGST accounts + CGST accounts + IGST accounts + CESS accounts + - - CESS Receivable - 10055 - asset_current - - - - - - Tax Receivable - 10056 - asset_current - - - - - CESS Payable - 11235 - liability_current - - - - - - Tax Payable - 11236 - liability_current - - - - + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in_chart_post_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in_chart_post_data.xml deleted file mode 100644 index e60221f..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/l10n_in_chart_post_data.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/neutralize.sql b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/neutralize.sql new file mode 100644 index 0000000..40da47d --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/neutralize.sql @@ -0,0 +1,3 @@ +UPDATE res_company + SET l10n_in_edi_production_env = false; + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/res_country_group.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/res_country_group.xml new file mode 100644 index 0000000..cb2177d --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/res_country_group.xml @@ -0,0 +1,11 @@ + + + + + India Inter-State Group + IN-INTER + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/res_partner_industry.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/res_partner_industry.xml new file mode 100644 index 0000000..0b444cb --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/res_partner_industry.xml @@ -0,0 +1,11 @@ + + + + ECO liable to deduct TCS u/s 52 + E-Commerce operator liable to deduct TCS under section 52 + + + ECO liable to pay GST u/s 9(5) + E-Commerce operator liable to pay tax under section 9(5) + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.account-in.csv b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.account-in.csv new file mode 100644 index 0000000..8c5af9b --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.account-in.csv @@ -0,0 +1,103 @@ +"id","name","code","account_type","tag_ids","reconcile","non_trade","l10n_in_tds_tcs_section_id" +"p10031","Inventories","10031","asset_current","","False","","" +"p10040","Debtors","10040","asset_receivable","","True","","" +"p10041","Debtors (PoS)","10041","asset_receivable","","True","","" +"p10051","SGST Receivable","10051","asset_current","l10n_in.sgst_tag_account","False","","" +"p10052","CGST Receivable","10052","asset_current","l10n_in.cgst_tag_account","False","","" +"p10053","IGST Receivable","10053","asset_current","l10n_in.igst_tag_account","False","","" +"p100531","IGST Paid on SEZ/Export Sales","100531","asset_current","l10n_in.igst_tag_account","False","","" +"p10054","IGST SEZ/Export Control Account","10054","asset_current","","False","","" +"p10057","Reverse Charge GST on Purchase","10057","asset_current","","False","","" +"p10058","TDS Receivable","10058","asset_current","","False","","" +"p10059","Tax Current Account - Receivable","10059","asset_receivable","","True","True","" +"p10061","Deposit Account","10061","asset_current","","False","","" +"p10071","Prepaid Insurance","10071","asset_current","","False","","" +"p1011","Buildings","1011","asset_fixed","","False","","" +"p1012","Land","1012","asset_fixed","","False","","" +"p1013","Equipment","1013","asset_fixed","","False","","" +"p1014","Vehicle","1014","asset_fixed","","False","","" +"p1015","Computer/Laptops (Assets)","1015","asset_fixed","","False","","" +"p1016","Furniture","1016","asset_fixed","","False","","" +"p1017","Air Conditionar","1017","asset_fixed","","False","","" +"p1018","Misc Assets","1018","asset_fixed","","False","","" +"p1111","Capital Account","1111","equity","","False","","" +"p1112","Reserve And Surplus Account","1112","liability_current","","False","","" +"p11211","Creditors","11211","liability_payable","","True","","" +"p11221","Bank OD Account","11221","liability_current","","False","","" +"p11222","Secured Loan Account","11222","liability_current","","False","","" +"p11223","Unsecured Loan Account","11223","liability_current","","False","","" +"p11231","TDS Payable","11231","liability_current","","False","","" +"p11232","SGST Payable","11232","liability_current","l10n_in.sgst_tag_account","False","","" +"p11233","CGST Payable","11233","liability_current","l10n_in.cgst_tag_account","False","","" +"p11234","IGST Payable","11234","liability_current","l10n_in.igst_tag_account","False","","" +"p112341","IGST SEZ/Export Control Account","112341","liability_current","","False","","" +"p112342","IGST Payable - Export","112342","liability_current","l10n_in.igst_tag_account","False","","" +"p11237","GST RCM Control Account","11237","liability_current","","False","","" +"p11239","Tax Current Account - Payable","11239","liability_payable","","True","True","" +"p11241","Wages Payable","11241","liability_current","","False","","" +"p11242","Interest Payable","11242","liability_current","","False","","" +"p11243","Notes Payable","11243","liability_current","","False","","" +"p20011","Local Sales","20011","income","","False","","" +"p20012","Retail Sales","20012","income","","False","","" +"p20013","Export Sales","20013","income","","False","","" +"p20021","Local Services","20021","income","","False","","" +"p20022","Export Services","20022","income","","False","","" +"p2010","Interest Revenues","2010","income","","False","","" +"p2011","Gain on Sale of Assets","2011","income","","False","","" +"2012","Write off Income","2012","income","","False","","" +"p2013","Foreign Exchange Profit","2013","income_other","","False","","" +"p2100","Electricity Expense","2100","expense","","False","","" +"p2101","Salary Expense","2101","expense","","False","","" +"p2102","Office Rent","2102","expense","","False","","" +"p2103","House Keeping Expense","2103","expense","","False","","" +"p2104","Postage And Courier Expense","2104","expense","","False","","" +"p2105","Internet Expense","2105","expense","","False","","" +"p2106","Telephone Expense","2106","expense","","False","","" +"p2107","Purchase Expense","2107","expense","","False","","" +"p2108","Computer/Laptop Accessories","2108","expense","","False","","" +"p2109","News Paper And Magazine","2109","expense","","False","","" +"p2110","Business Promotion","2110","expense","","False","","" +"p2111","Entertainment Expense","2111","expense","","False","","" +"p2112","Professional Services","2112","expense","","False","","" +"p2113","Bank Charges","2113","expense","","False","","" +"p2114","Diwali Bonus/Gift","2114","expense","","False","","" +"p2115","Parts Purchase","2115","expense","","False","","" +"p2116","Repairing Expense","2116","expense","","False","","" +"p2117","Foreign Exchange Loss","2117","expense","","False","","" +"p21181","Sales Commission Expense","21181","expense","","False","","" +"p21182","Stationary Expense","21182","expense","","False","","" +"p21183","Travelling Expense","21183","expense","","False","","" +"p2121","Opening Stock","2121","expense","","False","","" +"p2122","Purchase Stock","2122","expense","","False","","" +"p2123","Closing Stock","2123","expense","l10n_in.account_tag_closing_stock","False","","" +"p2131","Loss on Sale of Assets","2131","expense","","False","","" +"p2132","Write Off Expense","2132","expense","","False","","" +"p213201","Round off Expense","213201","expense","","False","","" +"p213202","Round off Income","213202","income","","False","","" +"p213300","Depreciation Account","213300","expense","","False","","" +"p11244","TDS Deducted","11244","liability_current","","False","","" +"p11245","TCS Collected","11245","liability_current","","False","","" +"p10055","CESS Receivable","10055","asset_current","l10n_in.cess_tag_account","False","","" +"p10056","Tax Receivable","10056","asset_current","","False","","" +"p11235","CESS Payable","11235","liability_current","l10n_in.cess_tag_account","False","","" +"p11236","Tax Payable","11236","liability_current","","False","","" +"p10084","Deferred Expenses","10084","asset_current","","False","","" +"p10085","Deferred Income","10085","liability_current","","False","","" +"p300001","House Rent Allowance Expense","300001","expense","","False","","" +"p300002","Other Allowance Expense","300002","expense","","False","","" +"p300003","Bonus to Employee Expense","300003","expense","","False","","" +"p300004","Supplementary Allowance Expense","300004","liability_current","","False","","" +"p300005","Performance Bonus","300005","liability_current","","False","","" +"p300006","Employee Reimbursement Expense","300006","liability_payable","","True","","" +"p300007","Provident fund - Employee Payable","300007","liability_current","","False","","" +"p300008","Provident fund - Employer Payable","300008","liability_current","","False","","" +"p300009","Advance to Employee","300009","liability_current","","False","","" +"p300010","Salary Exp Payable","300010","liability_current","","True","","" +"p300011","Leave Travel Allowance Expense","300011","liability_current","","False","","" +"p300012","Professional Tax Payable","300012","liability_current","","False","","" +"p100595","TDS (Withholding Control)","100595","asset_current","","False","","" +"p211210","Professional Fees","211210","expense","","False","","l10n_in.tds_section_194j" +"p211220","Audit Fees","211220","expense","","False","","l10n_in.tds_section_194j" +"p211230","Job Work Expense","211230","expense","","False","","l10n_in.tds_section_194c" +"p211240","Advertisement Expense","211240","expense","","False","","l10n_in.tds_section_194c" +"p211250","Commission/Brokerage Expense","211250","expense","","False","","l10n_in.tds_section_194h" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.fiscal.position-in.csv b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.fiscal.position-in.csv new file mode 100644 index 0000000..4b05eed --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.fiscal.position-in.csv @@ -0,0 +1,3 @@ +"id","name","note","sequence" +"fiscal_position_in_reverse_charge_intra","Reverse charge Intra State","THE SUPPLY IS SUBJECT TO REVERSE CHARGE MECHANISM, SO THE RECIPIENT IS RESPONSIBLE FOR PAYING TAX.","10" +"fiscal_position_in_reverse_charge_inter","Reverse charge Inter State","THE SUPPLY IS SUBJECT TO REVERSE CHARGE MECHANISM, SO THE RECIPIENT IS RESPONSIBLE FOR PAYING TAX.","20" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.tax-in.csv b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.tax-in.csv new file mode 100644 index 0000000..3c2e17a --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.tax-in.csv @@ -0,0 +1,1198 @@ +"id","name","description","invoice_label","type_tax_use","l10n_in_tax_type","amount_type","amount","tax_scope","active","tax_group_id","is_base_affected","include_base_amount","children_tax_ids","formula","sequence","l10n_in_reverse_charge","repartition_line_ids/factor_percent","repartition_line_ids/repartition_type","repartition_line_ids/document_type","repartition_line_ids/account_id","repartition_line_ids/tag_ids","l10n_in_section_id","fiscal_position_ids","original_tax_ids","l10n_in_is_lut" +"cess_sale_5","5% CESS S","CESS 5%","CESS 5%","none","gst","percent","5.0","","False","cess_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11235","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11235","l10n_in.tax_tag_cess","","","","" +"cess_sale_1591","1.591% CESS S","","1591 PER THOUSAND","none","gst","fixed","1.591","","False","cess_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11235","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11235","l10n_in.tax_tag_cess","","","","" +"cess_5_plus_1591_sale","5%+1.591 CESS S","CESS 5%+1.591","CESS 5%+1.591","sale","","group","0.0","","False","cess_group","","","cess_sale_5,cess_sale_1591","","","","","","","","","","","","" +"cess_21_4170_higer_sale","21% or 4.170 CESS S","CESS 21% or 4.170","CESS 21% or 4.170","sale","gst","code","0.0","","False","cess_group","","","","max(quantity * price_unit * 0.21, quantity * 4.17)","","","","base","invoice","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11235","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11235","l10n_in.tax_tag_cess","","","","" +"exempt_sale","0% Exempt","Exempt","Exempt","sale","exempt","percent","0.0","","False","exempt_group","","","","","","","","base","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","","","","","","" +"nil_rated_sale","Nil Rated","","Nil Rated","sale","nil_rated","percent","0.0","","False","nil_rated_group","","","","","","","","base","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","","","","","","" +"non_gst_supplies_sale","0% NGST","Non GST Supplies","Non GST Supplies","sale","non_gst","percent","0.0","","False","non_gst_supplies_group","","","","","","","","base","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","","","","","","" +"igst_sale_1","1% IGST S","IGST","IGST 1%","sale","gst","percent","1.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_1","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_sale_2","2% IGST S","IGST","IGST 2%","sale","gst","percent","2.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_2","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_sale_28","28% IGST S","IGST","IGST 28%","sale","gst","percent","28.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_28","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_sale_18","18% IGST S","IGST","IGST 18%","sale","gst","percent","18.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_18","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_sale_12","12% IGST S","IGST","IGST 12%","sale","gst","percent","12.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_12","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_sale_5","5% IGST S","IGST","IGST 5%","sale","gst","percent","5.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_5","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_sale_40","40% IGST S","IGST","IGST 40%","sale","gst","percent","40.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_40","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"sgst_sale_0_5","0.5% SGST S","SGST","SGST 0.5%","none","gst","percent","0.5","","False","sgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_sale_0_5","0.5% CGST S","CGST","CGST 0.5%","none","gst","percent","0.5","","False","cgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_sale_1","1% GST S","GST","GST 1%","sale","","group","1.0","","False","gst_group","","","sgst_sale_0_5,cgst_sale_0_5","","","","","","","","","","","","" +"sgst_sale_1_2","1% SGST S","SGST ","SGST 1%","none","gst","percent","1.0","","False","sgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_sale_1_2","1% CGST S","","CGST 1%","none","gst","percent","1.0","","False","cgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_sale_2","2% GST S","GST","GST 2%","sale","","group","2.0","","False","gst_group","","","sgst_sale_1_2,cgst_sale_1_2","","","","","","","","","","","","" +"sgst_sale_14","14% GST S","SGST","SGST 14%","none","gst","percent","14.0","","False","sgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_sale_14","14% CGST S","CGST","CGST 14%","none","gst","percent","14.0","","False","cgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_sale_28","28% GST S","GST","GST 28%","sale","","group","28.0","","False","gst_group","","","sgst_sale_14,cgst_sale_14","","","","","","","","","","","","" +"sgst_sale_9","9% SGST S","SGST","SGST 9%","none","gst","percent","9.0","","False","sgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_sale_9","9% CGST S","CGST","CGST 9%","none","gst","percent","9.0","","False","cgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_sale_18","18% GST S","GST","GST 18%","sale","","group","18.0","","False","gst_group","","","sgst_sale_9,cgst_sale_9","","","","","","","","","","","","" +"sgst_sale_6","6% SGST S","SGST","SGST 6%","none","gst","percent","6.0","","False","sgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_sale_6","6% CGST S","CGST","CGST 6%","none","gst","percent","6.0","","False","cgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_sale_12","12% GST S","GST","GST 12%","sale","","group","12.0","","False","gst_group","","","sgst_sale_6,cgst_sale_6","","","","","","","","","","","","" +"sgst_sale_2_5","2.5% SGST S","SGST","SGST 2.5%","none","gst","percent","2.5","","False","sgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_sale_2_5","2.5% CGST S","CGST","CGST 2.5%","none","gst","percent","2.5","","False","cgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_sale_5","5% GST S","GST","GST 5%","sale","","group","5.0","","False","gst_group","","","sgst_sale_2_5,cgst_sale_2_5","","0","","","","","","","","","","" +"sgst_sale_20","20% SGST S","SGST","SGST 20%","none","gst","percent","20.0","","False","sgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_sale_20","20% CGST S","CGST","CGST 20%","none","gst","percent","20.0","","False","cgst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_sale_40","40% GST S","GST","GST 40%","sale","","group","40.0","","False","gst_group","","","sgst_sale_20,cgst_sale_20","","","","","","","","","","","","" +"cess_purchase_5","5% CESS P","CESS","CESS 5%","none","gst","percent","5.0","","False","cess_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10055","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10055","l10n_in.tax_tag_cess","","","","" +"cess_purchase_1591","1.591% CESS P","","1591 PER THOUSAND","none","gst","fixed","1.591","","False","cess_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10055","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10055","l10n_in.tax_tag_cess","","","","" +"cess_5_plus_1591_purchase","5%+1.591 CESS P","CESS 5%+1.591","CESS 5%+1.591","purchase","","group","0.0","","False","cess_group","","","cess_purchase_5,cess_purchase_1591","","","","","","","","","","","","" +"cess_21_4170_higer_purchase","21% or 4.170 CESS P","CESS 21% or 4.170","CESS 21% or 4.170","purchase","gst","code","0.0","","False","cess_group","","","","max(quantity * price_unit * 0.21, quantity * 4.17)","","","","base","invoice","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10055","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10055","l10n_in.tax_tag_cess","","","","" +"exempt_purchase","0% Exempt","Exempt","Exempt","purchase","exempt","percent","0.0","","False","exempt_group","","","","","","","","base","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","","","","","","" +"nil_rated_purchase","Nil Rated","","Nil Rated","purchase","nil_rated","percent","0.0","","False","nil_rated_group","","","","","","","","base","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","","","","","","" +"non_gst_supplies_purchase","0% NGST P","Non GST Supplies","Non GST Supplies","purchase","non_gst","percent","0.0","","","non_gst_supplies_group","","","","","","","","base","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","","","","","","" +"igst_purchase_1","1% IGST P","IGST","IGST 1%","purchase","gst","percent","1.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_purchase_1","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10053","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10053","l10n_in.tax_tag_igst","","","","" +"igst_purchase_2","2% IGST P","IGST","IGST 2%","purchase","gst","percent","2.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_purchase_2","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10053","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10053","l10n_in.tax_tag_igst","","","","" +"igst_purchase_28","28% IGST P","IGST","IGST 28%","purchase","gst","percent","28.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_purchase_28","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10053","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10053","l10n_in.tax_tag_igst","","","","" +"igst_purchase_18","18% IGST P","IGST","IGST 18%","purchase","gst","percent","18.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_purchase_18","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10053","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10053","l10n_in.tax_tag_igst","","","","" +"igst_purchase_12","12% IGST P","IGST","IGST 12%","purchase","gst","percent","12.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_purchase_12","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10053","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10053","l10n_in.tax_tag_igst","","","","" +"igst_purchase_5","5% IGST P","IGST","IGST 5%","purchase","gst","percent","5.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_purchase_5","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10053","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10053","l10n_in.tax_tag_igst","","","","" +"igst_purchase_40","40% IGST P","IGST","IGST 40%","purchase","gst","percent","40.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_purchase_40","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10053","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10053","l10n_in.tax_tag_igst","","","","" +"sgst_purchase_0_5","0.5% SGST P","SGST","SGST 0.5%","none","gst","percent","0.5","","False","sgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10051","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10051","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_0_5","0.5% CGST P","CGST","CGST 0.5%","none","gst","percent","0.5","","False","cgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10052","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10052","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_1","1% GST P","GST","GST 1%","purchase","","group","1.0","","False","gst_group","","","sgst_purchase_0_5,cgst_purchase_0_5","","","","","","","","","","","","" +"sgst_purchase_1_2","1% SGST P","SGST","SGST 1%","none","gst","percent","1.0","","False","sgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10051","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10051","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_1_2","1% CGST P","CGST","CGST 1%","none","gst","percent","1.0","","False","cgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10052","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10052","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_2","2% GST P","GST","GST 2%","purchase","","group","2.0","","False","gst_group","","","sgst_purchase_1_2,cgst_purchase_1_2","","","","","","","","","","","","" +"sgst_purchase_14","14% SGST P","SGST","SGST 14%","none","gst","percent","14.0","","False","sgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10051","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10051","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_14","14% CGST P","CGST","CGST 14%","none","gst","percent","14.0","","False","cgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10052","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10052","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_28","28% GST P","GST","GST 28%","purchase","","group","28.0","","False","gst_group","","","sgst_purchase_14,cgst_purchase_14","","","","","","","","","","","","" +"sgst_purchase_9","9% SGST P","SGST","SGST 9%","none","gst","percent","9.0","","False","sgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10051","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10051","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_9","9% CGST P","CGST","CGST 9%","none","gst","percent","9.0","","False","cgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10052","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10052","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_18","18% GST P","GST","GST 18%","purchase","","group","18.0","","False","gst_group","","","sgst_purchase_9,cgst_purchase_9","","","","","","","","","","","","" +"sgst_purchase_6","6% SGST P","SGST","SGST 6%","none","gst","percent","6.0","","False","sgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10051","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10051","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_6","6% CGST P","","CGST 6%","none","gst","percent","6.0","","False","cgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10052","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10052","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_12","12% GST P","GST","GST 12%","purchase","","group","12.0","","False","gst_group","","","sgst_purchase_6,cgst_purchase_6","","","","","","","","","","","","" +"sgst_purchase_2_5","2.5% SGST P","SGST","SGST 2.5%","none","gst","percent","2.5","","False","sgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10051","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10051","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_2_5","2.5% CGST P","CGST","CGST 2.5%","none","gst","percent","2.5","","False","cgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10052","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10052","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_5","5% GST P","GST","GST 5%","purchase","","group","5.0","","False","gst_group","","","sgst_purchase_2_5,cgst_purchase_2_5","","0","","","","","","","","","","" +"sgst_purchase_20","20% SGST P","SGST","SGST 20%","none","gst","percent","20","","False","sgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10051","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10051","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_20","20% CGST P","CGST","CGST 20%","none","gst","percent","20","","False","cgst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10052","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10052","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_40","40% GST P","GST","GST 40%","purchase","","group","40.0","","False","gst_group","","","sgst_purchase_20,cgst_purchase_20","","","","","","","","","","","","" +"cess_purchase_5_rc","5% CESS RC","CESS","CESS 5% RC","none","gst","percent","5.0","","False","cess_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cess","","fiscal_position_in_reverse_charge_intra","cess_purchase_5","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11235","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11235","l10n_in.tax_tag_cess","","","","" +"cess_purchase_1591_rc","1.591% CESS RC","","1591 PER THOUSAND","none","gst","fixed","1.591","","False","cess_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cess","","fiscal_position_in_reverse_charge_intra","cess_purchase_1591","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11235","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11235","l10n_in.tax_tag_cess","","","","" +"cess_5_plus_1591_purchase_rc","5%+1.591 CESS RC","CESS 5%+1.591","CESS 5%+1.591","purchase","","group","0.0","","False","cess_group","","","cess_purchase_5_rc,cess_purchase_1591_rc","","","True","","","","","","","fiscal_position_in_reverse_charge_inter,fiscal_position_in_reverse_charge_intra","cess_5_plus_1591_purchase","" +"cess_21_4170_higer_purchase_rc","21% or 4.170 CESS RC","CESS 21% or 4.170","CESS 21% or 4.170","purchase","gst","code","0.0","","False","cess_group","","","","max(quantity * price_unit * 0.21, quantity * 4.17)","","True","","base","invoice","","l10n_in.tax_tag_base_cess","","fiscal_position_in_reverse_charge_inter,fiscal_position_in_reverse_charge_intra","cess_21_4170_higer_purchase","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11235","l10n_in.tax_tag_cess","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cess","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11235","l10n_in.tax_tag_cess","","","","" +"igst_purchase_1_rc","1% IGST RC","IGST (RC)","IGST 1%","purchase","gst","percent","1.0","","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","fiscal_position_in_reverse_charge_inter","sgst_purchase_1","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_purchase_2_rc","2% IGST RC","IGST (RC)","IGST 2%","purchase","gst","percent","2.0","","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","fiscal_position_in_reverse_charge_inter","sgst_purchase_2","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_purchase_28_rc","28% IGST RC","IGST (RC)","IGST 28%","purchase","gst","percent","28.0","","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","fiscal_position_in_reverse_charge_inter","sgst_purchase_28","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_purchase_18_rc","18% IGST RC","IGST (RC)","IGST 18%","purchase","gst","percent","18.0","","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","fiscal_position_in_reverse_charge_inter","sgst_purchase_18","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_purchase_12_rc","12% IGST RC","IGST (RC)","IGST 12%","purchase","gst","percent","12.0","","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","fiscal_position_in_reverse_charge_inter","sgst_purchase_12","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_purchase_5_rc","5% IGST RC","IGST (RC)","IGST 5%","purchase","gst","percent","5.0","","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","fiscal_position_in_reverse_charge_inter","sgst_purchase_5","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11234","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11234","l10n_in.tax_tag_igst","","","","" +"igst_purchase_18_service_rc","18% IGST (IMP-Service)","18% IGST (IMP-Service)","IGST 18%","purchase","gst","percent","18.0","service","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p10057","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p10057","l10n_in.tax_tag_igst","","","","" +"sgst_purchase_0_5_rc","0.5% SGST RC","SGST (RC)","SGST 0.5%","none","gst","percent","0.5","","False","sgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_sgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_0_5_rc","0.5% CGST RC","CGST (RC)","CGST 0.5%","none","gst","percent","0.5","","False","cgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_1_rc","1% GST RC","GST (RC)","GST 1%","purchase","","group","1.0","","False","gst_group","","","sgst_purchase_0_5_rc,cgst_purchase_0_5_rc","","","True","","","","","","","fiscal_position_in_reverse_charge_intra","sgst_purchase_1","" +"sgst_purchase_1_2_rc","1% SGST RC","SGST (RC)","SGST 1%","none","gst","percent","1.0","","False","sgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_sgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_1_2_rc","1% CGST RC","CGST (RC)","CGST 1%","none","gst","percent","1.0","","False","cgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_2_rc","2% GST RC","GST (RC)","GST 2%","purchase","","group","2.0","","False","gst_group","","","sgst_purchase_1_2_rc,cgst_purchase_1_2_rc","","","True","","","","","","","fiscal_position_in_reverse_charge_intra","sgst_purchase_2","" +"sgst_purchase_14_rc","14% SGST RC","SGST (RC)","SGST 14%","none","gst","percent","14.0","","False","sgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_sgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_14_rc","14% CGST RC","CGST (RC)","CGST 14%","none","gst","percent","14.0","","False","cgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_28_rc","28% GST RC","GST (RC)","GST 28%","purchase","","group","28.0","","False","gst_group","","","sgst_purchase_14_rc,cgst_purchase_14_rc","","","True","","","","","","","fiscal_position_in_reverse_charge_intra","sgst_purchase_28","" +"sgst_purchase_9_rc","9% SGST RC","SGST (RC)","SGST 9%","none","gst","percent","9.0","","False","sgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_sgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_9_rc","9% CGST RC","CGST (RC)","CGST 9%","none","gst","percent","9.0","","False","cgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_18_rc","18% GST RC","GST (RC)","GST 18%","purchase","","group","18.0","","False","gst_group","","","sgst_purchase_9_rc,cgst_purchase_9_rc","","","True","","","","","","","fiscal_position_in_reverse_charge_intra","sgst_purchase_18","" +"sgst_purchase_6_rc","6% SGST RC","SGST (RC)","SGST 6%","none","gst","percent","6.0","","False","sgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_sgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_6_rc","6% CGST RC","CGST (RC)","CGST 6%","none","gst","percent","6.0","","False","cgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_12_rc","12% GST RC","GST (RC)","GST 12%","purchase","","group","12.0","","False","gst_group","","","sgst_purchase_6_rc,cgst_purchase_6_rc","","","True","","","","","","","fiscal_position_in_reverse_charge_intra","sgst_purchase_12","" +"sgst_purchase_2_5_rc","2.5% SGST RC","SGST (RC)","SGST 2.5%","none","gst","percent","2.5","","False","sgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_sgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11232","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11232","l10n_in.tax_tag_sgst","","","","" +"cgst_purchase_2_5_rc","2.5% CGST RC","CGST (RC)","CGST 2.5%","none","gst","percent","2.5","","False","cgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11233","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p10057","","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11233","l10n_in.tax_tag_cgst","","","","" +"sgst_purchase_5_rc","5% GST RC","GST (RC)","GST 5%","purchase","","group","5.0","","False","gst_group","","","sgst_purchase_2_5_rc,cgst_purchase_2_5_rc","","0","True","","","","","","","fiscal_position_in_reverse_charge_intra","sgst_purchase_5","" +"igst_sale_0_sez_exp","0% IGST S (EXP)","IGST (EXPORT)","IGST (EXPORT) 0%","sale","gst","percent","0.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","exempt_sale,nil_rated_sale,non_gst_supplies_sale","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p100531","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p100531","","","","","" +"igst_sale_1_sez_exp","1% IGST S (EXP)","IGST (EXPORT)","IGST (EXPORT) 1%","sale","gst","percent","1.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_1","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p100531","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p100531","","","","","" +"igst_sale_2_sez_exp","2% IGST S (EXP)","IGST (EXPORT)","IGST (EXPORT) 2%","sale","gst","percent","2.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_2","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p100531","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p100531","","","","","" +"igst_sale_28_sez_exp","28% IGST S (EXP)","IGST (EXPORT)","IGST (EXPORT) 28%","sale","gst","percent","28.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_28","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p100531","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p100531","","","","","" +"igst_sale_18_sez_exp","18% IGST S (EXP)","IGST (EXPORT)","IGST (EXPORT) 18%","sale","gst","percent","18.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_18","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p100531","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p100531","","","","","" +"igst_sale_12_sez_exp","12% IGST S (EXP)","IGST (EXPORT)","IGST (EXPORT) 12%","sale","gst","percent","12.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_12","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p100531","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p100531","","","","","" +"igst_sale_5_sez_exp","5% IGST S (EXP)","IGST (EXPORT)","IGST (EXPORT) 5%","sale","gst","percent","5.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_5","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p100531","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p100531","","","","","" +"igst_sale_40_sez_exp","40% IGST S (EXP)","IGST (EXPORT)","IGST (EXPORT) 40%","sale","gst","percent","40.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_40","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p100531","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112342","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p100531","","","","","" +"igst_sale_0_sez_exp_lut","0% IGST S (EXP-LUT)","IGST (Export under LUT)","IGST (EXPORT-LUT) 0%","sale","gst","percent","0.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","exempt_sale,nil_rated_sale,non_gst_supplies_sale","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_1_sez_exp_lut","1% IGST S (EXP-LUT)","IGST (Export under LUT)","IGST (EXPORT-LUT) 1%","sale","gst","percent","1.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_1","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_2_sez_exp_lut","2% IGST S (EXP-LUT)","IGST (Export under LUT)","IGST (EXPORT-LUT) 2%","sale","gst","percent","2.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_2","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_28_sez_exp_lut","28% IGST S (EXP-LUT)","IGST (Export under LUT)","IGST (EXPORT-LUT) 28%","sale","gst","percent","28.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_28","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_18_sez_exp_lut","18% IGST S (EXP-LUT)","IGST (Export under LUT)","IGST (EXPORT-LUT) 18%","sale","gst","percent","18.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_18","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_12_sez_exp_lut","12% IGST S (EXP-LUT)","IGST (Export under LUT)","IGST (EXPORT-LUT) 12%","sale","gst","percent","12.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_12","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_5_sez_exp_lut","5% IGST S (EXP-LUT)","IGST (Export under LUT)","IGST (EXPORT-LUT) 5%","sale","gst","percent","5.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_5","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_40_sez_exp_lut","40% IGST S (EXP-LUT)","IGST (Export under LUT)","IGST (EXPORT-LUT) 40%","sale","gst","percent","40.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_40","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_0_sez_lut","0% IGST S (SEZ-LUT)","IGST (Special Economic Zone under LUT)","IGST (SEZ-LUT) 0%","sale","gst","percent","0.0","","False","igst_group","","","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","exempt_sale,nil_rated_sale,non_gst_supplies_sale","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_1_sez_lut","1% IGST S (SEZ-LUT)","IGST (Special Economic Zone under LUT)","IGST (SEZ-LUT) 1%","sale","gst","percent","1.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_1","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_2_sez_lut","2% IGST S (SEZ-LUT)","IGST (Special Economic Zone under LUT)","IGST (SEZ-LUT) 2%","sale","gst","percent","2.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_2","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_28_sez_lut","28% IGST S (SEZ-LUT)","IGST (Special Economic Zone under LUT)","IGST (SEZ-LUT) 28%","sale","gst","percent","28.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_28","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_18_sez_lut","18% IGST S (SEZ-LUT)","IGST (Special Economic Zone under LUT)","IGST (SEZ-LUT) 18%","sale","gst","percent","18.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_18","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_12_sez_lut","12% IGST S (SEZ-LUT)","IGST (Special Economic Zone under LUT)","IGST (SEZ-LUT) 12%","sale","gst","percent","12.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_12","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_5_sez_lut","5% IGST S (SEZ-LUT)","IGST (Special Economic Zone under LUT)","IGST (SEZ-LUT) 5%","sale","gst","percent","5.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_5","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_40_sez_lut","40% IGST S (SEZ-LUT)","IGST (Special Economic Zone under LUT)","IGST (SEZ-LUT) 40%","sale","gst","percent","40.0","","False","igst_group","False","True","","","","","","base","invoice","","l10n_in.tax_tag_base_igst","","","sgst_sale_40","True" +"","","","","","","","","","","","","","","","","","","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p112341","l10n_in.tax_tag_igst","","","","" +"igst_sale_18_rc","18% IGST RC","IGST (RC)","IGST 18%","sale","gst","percent","18.0","","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","fiscal_position_in_reverse_charge_inter","sgst_sale_18","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11237","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11237","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11237","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11237","","","","","" +"sgst_sale_9_rc","9% SGST RC","SGST (RC)","SGST 9%","none","gst","percent","9.0","","False","sgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_sgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11237","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11237","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11237","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11237","","","","","" +"cgst_sale_9_rc","9% CGST RC","CGST (RC)","CGST 9%","none","gst","percent","9.0","","False","cgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11237","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11237","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11237","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11237","","","","","" +"sgst_sale_18_rc","18% GST RC","GST (RC)","GST 18%","sale","","group","18.0","","False","gst_group","","","sgst_sale_9_rc,cgst_sale_9_rc","","","True","","","","","","","fiscal_position_in_reverse_charge_intra","sgst_sale_18","" +"igst_sale_5_rc","5% IGST RC","IGST (RC)","IGST 5%","sale","gst","percent","5.0","","False","igst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_igst","","fiscal_position_in_reverse_charge_inter","sgst_sale_5","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11237","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11237","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_igst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11237","l10n_in.tax_tag_igst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11237","","","","","" +"sgst_sale_2_5_rc","2.5% SGST RC","SGST (RC)","SGST 2.5%","none","gst","percent","2.5","","False","sgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_sgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11237","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11237","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_sgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11237","l10n_in.tax_tag_sgst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11237","","","","","" +"cgst_sale_2_5_rc","2.5% CGST RC","CGST (RC)","CGST 2.5%","none","gst","percent","2.5","","False","cgst_group","","","","","","True","","base","invoice","","l10n_in.tax_tag_base_cgst","","fiscal_position_in_reverse_charge_intra","","" +"","","","","","","","","","","","","","","","","","","tax","invoice","p11237","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","invoice","p11237","","","","","" +"","","","","","","","","","","","","","","","","","","base","refund","","l10n_in.tax_tag_base_cgst","","","","" +"","","","","","","","","","","","","","","","","","","tax","refund","p11237","l10n_in.tax_tag_cgst","","","","" +"","","","","","","","","","","","","","","","","","-100","tax","refund","p11237","","","","","" +"sgst_sale_5_rc","5% GST RC","GST (RC)","GST 5%","sale","","group","5.0","","False","gst_group","","","sgst_sale_2_5_rc,cgst_sale_2_5_rc","","","True","","","","","","","fiscal_position_in_reverse_charge_intra","sgst_sale_5","" +"tds_sale_10_us_192a","10% TDS 192A S","TDS @10% u/s 192A","TDS @10% u/s 192A","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_192a","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_192a","20% TDS 192A S","TDS @20% u/s 192A","TDS @20% u/s 192A","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_192a","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_193","10% TDS 193 S","TDS @10% u/s 193","TDS @10% u/s 193","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_193","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_193","20% TDS 193 S","TDS @20% u/s 193","TDS @20% u/s 193","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_193","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194","10% TDS 194 S","TDS @10% u/s 194","TDS @10% u/s 194","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194","20% TDS 194 S","TDS @20% u/s 194","TDS @20% u/s 194","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194a","10% TDS 194A S","TDS @10% u/s 194A","TDS @10% u/s 194A","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194a","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194a","20% TDS 194A S","TDS @20% u/s 194A","TDS @20% u/s 194A","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194a","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_30_us_194b","30% TDS 194B S","TDS @30% u/s 194B","TDS @30% u/s 194B","none","tds_sale","percent","-30.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194b","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_30_us_194bb","30% TDS 194BB S","TDS @30% u/s 194BB","TDS @30% u/s 194BB","none","tds_sale","percent","-30.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194bb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_1_us_194c","1% TDS 194C S","TDS @1% u/s 194C","TDS @1% u/s 194C","none","tds_sale","percent","-1.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194c","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194c","2% TDS 194C S","TDS @2% u/s 194C","TDS @2% u/s 194C","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194c","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194c","20% TDS 194C S","TDS @20% u/s 194C","TDS @20% u/s 194C","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194c","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_5_us_194d","5% TDS 194D S","TDS @5% u/s 194D","TDS @5% u/s 194D","none","tds_sale","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194d","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194d","10% TDS 194D S","TDS @10% u/s 194D","TDS @10% u/s 194D","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194d","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194d","20% TDS 194D S","TDS @20% u/s 194D","TDS @20% u/s 194D","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194d","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194da","2% TDS 194DA S","TDS @2% u/s 194DA","TDS @2% u/s 194DA","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194da","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_5_us_194da","5% TDS 194DA S","TDS @5% u/s 194DA","TDS @5% u/s 194DA","none","tds_sale","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194da","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194da","20% TDS 194DA S","TDS @20% u/s 194DA","TDS @20% u/s 194DA","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194da","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194e","20% TDS 194E S","TDS @20% u/s 194E","TDS @20% u/s 194E","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194e","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194ee","10% TDS 194EE S","TDS @10% u/s 194EE","TDS @10% u/s 194EE","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ee","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194ee","20% TDS 194EE S","TDS @20% u/s 194EE","TDS @20% u/s 194EE","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ee","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194f","20% TDS 194F S","TDS @20% u/s 194F","TDS @20% u/s 194F","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194f","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194g","2% TDS 194G S","TDS @2% u/s 194G","TDS @2% u/s 194G","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194g","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_5_us_194g","5% TDS 194G S","TDS @5% u/s 194G","TDS @5% u/s 194G","none","tds_sale","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194g","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194g","20% TDS 194G S","TDS @20% u/s 194G","TDS @20% u/s 194G","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194g","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194h","2% TDS 194H S","TDS @2% u/s 194H","TDS @2% u/s 194H","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194h","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_5_us_194h","5% TDS 194H S","TDS @5% u/s 194H","TDS @5% u/s 194H","none","tds_sale","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194h","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194h","20% TDS 194H S","TDS @20% u/s 194H","TDS @20% u/s 194H","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194h","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194i","2% TDS 194I S","TDS @2% u/s 194I","TDS @2% u/s 194I","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194i","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194i","10% TDS 194I S","TDS @10% u/s 194I","TDS @10% u/s 194I","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194i","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194i","20% TDS 194I S","TDS @20% u/s 194I","TDS @20% u/s 194I","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194i","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_1_us_194ia","1% TDS 194IA S","TDS @1% u/s 194IA","TDS @1% u/s 194IA","none","tds_sale","percent","-1.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ia","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194ia","20% TDS 194IA S","TDS @20% u/s 194IA","TDS @20% u/s 194IA","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ia","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194ib","2% TDS 194IB S","TDS @2% u/s 194IB","TDS @2% u/s 194IB","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ib","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_5_us_194ib","5% TDS 194IB S","TDS @5% u/s 194IB","TDS @5% u/s 194IB","none","tds_sale","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ib","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194ib","20% TDS 194IB S","TDS @20% u/s 194IB","TDS @20% u/s 194IB","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ib","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194ic","10% TDS 194IC S","TDS @10% u/s 194IC","TDS @10% u/s 194IC","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ic","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194ic","20% TDS 194IC S","TDS @20% u/s 194IC","TDS @20% u/s 194IC","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ic","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194j","2% TDS 194J S","TDS @2% u/s 194J","TDS @2% u/s 194J","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194j","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194j","10% TDS 194J S","TDS @10% u/s 194J","TDS @10% u/s 194J","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194j","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194j","20% TDS 194J S","TDS @20% u/s 194J","TDS @20% u/s 194J","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194j","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194k","10% TDS 194K S","TDS @10% u/s 194K","TDS @10% u/s 194K","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194k","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194k","20% TDS 194K S","TDS @20% u/s 194K","TDS @20% u/s 194K","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194k","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194la","10% TDS 194LA S","TDS @10% u/s 194LA","TDS @10% u/s 194LA","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194la","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194la","20% TDS 194LA S","TDS @20% u/s 194LA","TDS @20% u/s 194LA","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194la","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194lba","10% TDS 194LBA(1) S","TDS @10% u/s 194LBA(1)","TDS @10% u/s 194LBA(1)","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lba1","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194lba","20% TDS 194LBA(1) S","TDS @20% u/s 194LBA(1)","TDS @20% u/s 194LBA(1)","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lba1","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194lbb","10% TDS 194LBB S","TDS @10% u/s 194LBB","TDS @10% u/s 194LBB","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194lbb","20% TDS 194LBB S","TDS @20% u/s 194LBB","TDS @20% u/s 194LBB","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_5_us_194lb","5% TDS 194LB S","TDS @5% u/s 194LB","TDS @5% u/s 194LB","none","tds_sale","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194lb","20% TDS 194LB S","TDS @20% u/s 194LB","TDS @20% u/s 194LB","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_us_194lbc","10% TDS 194LBC S","TDS @10% u/s 194LBC","TDS @10% u/s 194LBC","none","tds_sale","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_25_us_194lbc","25% TDS 194LBC S","TDS @25% u/s 194LBC","TDS @25% u/s 194LBC","none","tds_sale","percent","-25.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_30_us_194lbc","30% TDS 194LBC S","TDS @30% u/s 194LBC","TDS @30% u/s 194LBC","none","tds_sale","percent","-30.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194m","2% TDS 194M S","TDS @2% u/s 194M","TDS @2% u/s 194M","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194m","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_5_us_194m","5% TDS 194M S","TDS @5% u/s 194M","TDS @5% u/s 194M","none","tds_sale","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194m","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194m","20% TDS 194M S","TDS @20% u/s 194M","TDS @20% u/s 194M","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194m","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_2_us_194n","2% TDS 194N S","TDS @2% u/s 194N","TDS @2% u/s 194N","none","tds_sale","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194n","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_5_us_194n","5% TDS 194N S","TDS @5% u/s 194N","TDS @5% u/s 194N","none","tds_sale","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194n","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194n","20% TDS 194N S","TDS @20% u/s 194N","TDS @20% u/s 194N","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194n","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_01_us_194o","0.1% TDS 194O S","TDS @0.1% u/s 194O","TDS @0.1% u/s 194O","none","tds_sale","percent","-0.1","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194o","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_1_us_194o","1% TDS 194O S","TDS @1% u/s 194O","TDS @1% u/s 194O","none","tds_sale","percent","-1.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194o","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_us_194o","20% TDS 194O S","TDS @20% u/s 194O","TDS @20% u/s 194O","none","tds_sale","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194o","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_01_us_194q","0.1% TDS 194Q S","TDS @0.1% u/s 194Q","TDS @0.1% u/s 194Q","none","tds_sale","percent","-0.1","consu","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194q","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_10_4_us_195","10.4% TDS 195 S","TDS @10.4% u/s 195","TDS @10.4% u/s 195","none","tds_sale","percent","-10.4","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_195","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_15_6_us_195","15.6% TDS 195 S","TDS @15.6% u/s 195","TDS @15.6% u/s 195","none","tds_sale","percent","-15.6","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_195","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_20_8_us_195","20.8% TDS 195 S","TDS @20.8% u/s 195","TDS @20.8% u/s 195","none","tds_sale","percent","-20.8","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_195","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_sale_31_2_us_195","31.2% TDS 195 S","TDS @31.2% u/s 195","TDS @31.2% u/s 195","none","tds_sale","percent","-31.2","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_195","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p10058","","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p10058","","","","","" +"tds_10_us_192a","10% TDS 192A P","TDS @10% u/s 192A","TDS @10% u/s 192A","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_192a","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","192A","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","192A","","","","" +"tds_20_us_192a","20% TDS 192A P","TDS @20% u/s 192A","TDS @20% u/s 192A","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_192a","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","192A","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","192A","","","","" +"tds_10_us_193","10% TDS 193 P","TDS @10% u/s 193","TDS @10% u/s 193","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_193","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","193","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","193","","","","" +"tds_20_us_193","20% TDS 193 P","TDS @20% u/s 193","TDS @20% u/s 193","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_193","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","193","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","193","","","","" +"tds_10_us_194","10% TDS 194 P","TDS @10% u/s 194","TDS @10% u/s 194","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194","","","","" +"tds_20_us_194","20% TDS 194 P","TDS @20% u/s 194","TDS @20% u/s 194","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194","","","","" +"tds_10_us_194a","10% TDS 194A P","TDS @10% u/s 194A","TDS @10% u/s 194A","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194a","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194A","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194A","","","","" +"tds_20_us_194a","20% TDS 194A P","TDS @20% u/s 194A","TDS @20% u/s 194A","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194a","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194A","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194A","","","","" +"tds_30_us_194b","30% TDS 194B P","TDS @30% u/s 194B","TDS @30% u/s 194B","none","tds_purchase","percent","-30.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194b","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194B","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194B","","","","" +"tds_30_us_194bb","30% TDS 194BB P","TDS @30% u/s 194BB","TDS @30% u/s 194BB","none","tds_purchase","percent","-30.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194bb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194BB","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194BB","","","","" +"tds_1_us_194c","1% TDS 194C P","TDS @1% u/s 194C","TDS @1% u/s 194C","none","tds_purchase","percent","-1.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194c","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194C","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194C","","","","" +"tds_2_us_194c","2% TDS 194C P","TDS @2% u/s 194C","TDS @2% u/s 194C","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194c","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194C","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194C","","","","" +"tds_20_us_194c","20% TDS 194C P","TDS @20% u/s 194C","TDS @20% u/s 194C","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194c","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194C","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194C","","","","" +"tds_5_us_194d","5% TDS 194D P","TDS @5% u/s 194D","TDS @5% u/s 194D","none","tds_purchase","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194d","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194D","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194D","","","","" +"tds_10_us_194d","10% TDS 194D P","TDS @10% u/s 194D","TDS @10% u/s 194D","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194d","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194D","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194D","","","","" +"tds_20_us_194d","20% TDS 194D P","TDS @20% u/s 194D","TDS @20% u/s 194D","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194d","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194D","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194D","","","","" +"tds_2_us_194da","2% TDS 194DA P","TDS @2% u/s 194DA","TDS @2% u/s 194DA","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194da","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194DA","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194DA","","","","" +"tds_5_us_194da","5% TDS 194DA P","TDS @5% u/s 194DA","TDS @5% u/s 194DA","none","tds_purchase","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194da","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194DA","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194DA","","","","" +"tds_20_us_194da","20% TDS 194DA P","TDS @20% u/s 194DA","TDS @20% u/s 194DA","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194da","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194DA","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194DA","","","","" +"tds_20_us_194e","20% TDS 194E P","TDS @20% u/s 194E","TDS @20% u/s 194E","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194e","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194E","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194E","","","","" +"tds_10_us_194ee","10% TDS 194EE P","TDS @10% u/s 194EE","TDS @10% u/s 194EE","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ee","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194EE","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194EE","","","","" +"tds_20_us_194ee","20% TDS 194EE P","TDS @20% u/s 194EE","TDS @20% u/s 194EE","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ee","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194EE","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194EE","","","","" +"tds_20_us_194f","20% TDS 194F P","TDS @20% u/s 194F","TDS @20% u/s 194F","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194f","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194F","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194F","","","","" +"tds_2_us_194g","2% TDS 194G P","TDS @2% u/s 194G","TDS @2% u/s 194G","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194g","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194G","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194G","","","","" +"tds_5_us_194g","5% TDS 194G P","TDS @5% u/s 194G","TDS @5% u/s 194G","none","tds_purchase","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194g","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194G","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194G","","","","" +"tds_20_us_194g","20% TDS 194G P","TDS @20% u/s 194G","TDS @20% u/s 194G","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194g","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194G","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194G","","","","" +"tds_2_us_194h","2% TDS 194H P","TDS @2% u/s 194H","TDS @2% u/s 194H","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194h","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194H","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194H","","","","" +"tds_5_us_194h","5% TDS 194H P","TDS @5% u/s 194H","TDS @5% u/s 194H","none","tds_purchase","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194h","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194H","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194H","","","","" +"tds_20_us_194h","20% TDS 194H P","TDS @20% u/s 194H","TDS @20% u/s 194H","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194h","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194H","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194H","","","","" +"tds_2_us_194i","2% TDS 194I P","TDS @2% u/s 194I","TDS @2% u/s 194I","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194i","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194I","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194I","","","","" +"tds_10_us_194i","10% TDS 194I P","TDS @10% u/s 194I","TDS @10% u/s 194I","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194i","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194I","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194I","","","","" +"tds_20_us_194i","20% TDS 194I P","TDS @20% u/s 194I","TDS @20% u/s 194I","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194i","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194I","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194I","","","","" +"tds_1_us_194ia","1% TDS 194IA P","TDS @1% u/s 194IA","TDS @1% u/s 194IA","none","tds_purchase","percent","-1.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ia","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194IA","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194IA","","","","" +"tds_20_us_194ia","20% TDS 194IA P","TDS @20% u/s 194IA","TDS @20% u/s 194IA","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ia","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194IA","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194IA","","","","" +"tds_2_us_194ib","2% TDS 194IB P","TDS @2% u/s 194IB","TDS @2% u/s 194IB","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ib","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194IB","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194IB","","","","" +"tds_5_us_194ib","5% TDS 194IB P","TDS @5% u/s 194IB","TDS @5% u/s 194IB","none","tds_purchase","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ib","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194IB","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194IB","","","","" +"tds_20_us_194ib","20% TDS 194IB P","TDS @20% u/s 194IB","TDS @20% u/s 194IB","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ib","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194IB","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194IB","","","","" +"tds_10_us_194ic","10% TDS 194IC P","TDS @10% u/s 194IC","TDS @10% u/s 194IC","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ic","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194IC","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194IC","","","","" +"tds_20_us_194ic","20% TDS 194IC P","TDS @20% u/s 194IC","TDS @20% u/s 194IC","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194ic","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194IC","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194IC","","","","" +"tds_2_us_194j","2% TDS 194J P","TDS @2% u/s 194J","TDS @2% u/s 194J","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194j","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194J","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194J","","","","" +"tds_10_us_194j","10% TDS 194J P","TDS @10% u/s 194J","TDS @10% u/s 194J","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194j","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194J","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194J","","","","" +"tds_20_us_194j","20% TDS 194J P","TDS @20% u/s 194J","TDS @20% u/s 194J","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194j","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194J","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194J","","","","" +"tds_10_us_194k","10% TDS 194K P","TDS @10% u/s 194K","TDS @10% u/s 194K","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194k","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194K","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194K","","","","" +"tds_20_us_194k","20% TDS 194K P","TDS @20% u/s 194K","TDS @20% u/s 194K","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194k","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194K","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194K","","","","" +"tds_10_us_194la","10% TDS 194LA P","TDS @10% u/s 194LA","TDS @10% u/s 194LA","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194la","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LA","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LA","","","","" +"tds_20_us_194la","20% TDS 194LA P","TDS @20% u/s 194LA","TDS @20% u/s 194LA","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194la","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LA","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LA","","","","" +"tds_10_us_194lba","10% TDS 194LBA(1) P","TDS @10% u/s 194LBA(1)","TDS @10% u/s 194LBA(1)","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lba1","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LBA(1)","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LBA(1)","","","","" +"tds_20_us_194lba","20% TDS 194LBA(1) P","TDS @20% u/s 194LBA(1)","TDS @20% u/s 194LBA(1)","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lba1","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LBA(1)","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LBA(1)","","","","" +"tds_10_us_194lbb","10% TDS 194LBB P","TDS @10% u/s 194LBB","TDS @10% u/s 194LBB","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LBB","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LBB","","","","" +"tds_20_us_194lbb","20% TDS 194LBB P","TDS @20% u/s 194LBB","TDS @20% u/s 194LBB","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LBB","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LBB","","","","" +"tds_5_us_194lb","5% TDS 194LB P","TDS @5% u/s 194LB","TDS @5% u/s 194LB","none","tds_purchase","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LB","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LB","","","","" +"tds_20_us_194lb","20% TDS 194LB P","TDS @20% u/s 194LB","TDS @20% u/s 194LB","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lb","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LB","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LB","","","","" +"tds_10_us_194lbc","10% TDS 194LBC P","TDS @10% u/s 194LBC","TDS @10% u/s 194LBC","none","tds_purchase","percent","-10.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LBC","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LBC","","","","" +"tds_25_us_194lbc","25% TDS 194LBC P","TDS @25% u/s 194LBC","TDS @25% u/s 194LBC","none","tds_purchase","percent","-25.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LBC","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LBC","","","","" +"tds_30_us_194lbc","30% TDS 194LBC P","TDS @30% u/s 194LBC","TDS @30% u/s 194LBC","none","tds_purchase","percent","-30.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194lbc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194LBC","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194LBC","","","","" +"tds_2_us_194m","2% TDS 194M P","TDS @2% u/s 194M","TDS @2% u/s 194M","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194m","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194M","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194M","","","","" +"tds_5_us_194m","5% TDS 194M P","TDS @5% u/s 194M","TDS @5% u/s 194M","none","tds_purchase","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194m","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194M","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194M","","","","" +"tds_20_us_194m","20% TDS 194M P","TDS @20% u/s 194M","TDS @20% u/s 194M","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194m","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194M","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194M","","","","" +"tds_2_us_194n","2% TDS 194N P","TDS @2% u/s 194N","TDS @2% u/s 194N","none","tds_purchase","percent","-2.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194n","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194N","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194N","","","","" +"tds_5_us_194n","5% TDS 194N P","TDS @5% u/s 194N","TDS @5% u/s 194N","none","tds_purchase","percent","-5.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194n","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194N","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194N","","","","" +"tds_20_us_194n","20% TDS 194N P","TDS @20% u/s 194N","TDS @20% u/s 194N","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194n","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194N","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194N","","","","" +"tds_01_us_194o","0.1% TDS 194O P","TDS @0.1% u/s 194O","TDS @0.1% u/s 194O","none","tds_purchase","percent","-0.1","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194o","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194O","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194O","","","","" +"tds_1_us_194o","1% TDS 194O P","TDS @1% u/s 194O","TDS @1% u/s 194O","none","tds_purchase","percent","-1.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194o","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194O","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194O","","","","" +"tds_20_us_194o","20% TDS 194O P","TDS @20% u/s 194O","TDS @20% u/s 194O","none","tds_purchase","percent","-20.0","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194o","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194O","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194O","","","","" +"tds_01_us_194q","0.1% TDS 194Q P","TDS @0.1% u/s 194Q","TDS @0.1% u/s 194Q","none","tds_purchase","percent","-0.1","consu","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_194q","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","194Q","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","194Q","","","","" +"tds_10_4_us_195","10.4% TDS 195 P","TDS @10.4% u/s 195","TDS @10.4% u/s 195","none","tds_purchase","percent","-10.4","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_195","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","195","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","195","","","","" +"tds_15_6_us_195","15.6% TDS 195 P","TDS @15.6% u/s 195","TDS @15.6% u/s 195","none","tds_purchase","percent","-15.6","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_195","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","195","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","195","","","","" +"tds_20_8_us_195","20.8% TDS 195 P","TDS @20.8% u/s 195","TDS @20.8% u/s 195","none","tds_purchase","percent","-20.8","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_195","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","195","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","195","","","","" +"tds_31_2_us_195","31.2% TDS 195 P","TDS @31.2% u/s 195","TDS @31.2% u/s 195","none","tds_purchase","percent","-31.2","service","False","tds_group","","","","","","","100","base","invoice","","","l10n_in.tds_section_195","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11244","195","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11244","195","","","","" +"tcs_1_us_206c_1_alfhc","1% TCS 206C(1): A","TCS @1% u/s 206C(1): Alcoholic Liquor for human consumption","1% TCS 206C(1)","sale","tcs","percent","1.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_alc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Alcoholic Liquor","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Alcoholic Liquor","","","","" +"tcs_5_us_206c_1_alfhc","5% TCS 206C(1): A","TCS @5% u/s 206C(1): Alcoholic Liquor for human consumption","5% TCS 206C(1)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_alc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Alcoholic Liquor","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Alcoholic Liquor","","","","" +"tcs_5_us_206c_1_tl","5% TCS 206C(1): T L","TCS @5% u/s 206C(1): Tendu leaves","5% TCS 206C(1)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_tl","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Tendu leaves","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Tendu leaves","","","","" +"tcs_2_5_us_206c_1_touafl","2.5% TCS 206C(1): Tim","TCS @2.5% u/s 206C(1): Timber obtained under a forest lease","2.5% TCS 206C(1)","sale","tcs","percent","2.5","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_tim","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Timber (forest lease)","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Timber (forest lease)","","","","" +"tcs_5_us_206c_1_touafl","5% TCS 206C(1): Tim","TCS @5% u/s 206C(1): Timber obtained under a forest lease","5% TCS 206C(1)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_tim","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Timber (forest lease)","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Timber (forest lease)","","","","" +"tcs_2_5_us_206c_1_tobamotuafl","2.5% TCS 206C(1): Tim O","TCS @2.5% u/s 206C(1): Timber obtained by any mode other than under a forest lease","2.5% TCS 206C(1)","sale","tcs","percent","2.5","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_tim_o","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Timber (other than under a forest lease)","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Timber (other than under a forest lease)","","","","" +"tcs_5_us_206c_1_tobamotuafl","5% TCS 206C(1): Tim O","TCS @5% u/s 206C(1): Timber obtained by any mode other than under a forest lease","5% TCS 206C(1)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_tim_o","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Timber (other than under a forest lease)","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Timber (other than under a forest lease)","","","","" +"tcs_2_5_us_206c_1_aofpnbtotl","2.5% TCS 206C(1): F O","TCS @2.5% u/s 206C(1): Any other forest produce not being timber or tendu leaves","2.5% TCS 206C(1)","sale","tcs","percent","2.5","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_fo","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) other forest produce","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) other forest produce","","","","" +"tcs_5_us_206c_1_aofpnbtotl","5% TCS 206C(1): F O","TCS @5% u/s 206C(1): Any other forest produce not being timber or tendu leaves","5% TCS 206C(1)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_fo","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) other forest produce","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) other forest produce","","","","" +"tcs_1_us_206c_1_s","1% TCS 206C(1): Sc","TCS @1% u/s 206C(1): Scrap","1% TCS 206C(1)","sale","tcs","percent","1.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_sc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Scrap","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Scrap","","","","" +"tcs_5_us_206c_1_s","5% TCS 206C(1): Sc","TCS @5% u/s 206C(1): Scrap","5% TCS 206C(1)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_sc","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Scrap","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Scrap","","","","" +"tcs_1_us_206c_1_mbcoloio","1% TCS 206C(1): Min","TCS @1% u/s 206C(1): Minrals, being coal or lignite or iron ore","1% TCS 206C(1)","sale","tcs","percent","1.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_min","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Minrals","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Minrals","","","","" +"tcs_5_us_206c_1_mbcoloio","5% TCS 206C(1): Min","TCS @5% u/s 206C(1): Minrals, being coal or lignite or iron ore","5% TCS 206C(1)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1_min","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1) Minrals","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1) Minrals","","","","" +"tcs_2_us_206c_1c_pl","2% TCS 206C(1C): P","TCS @2% u/s 206C(1C): Parking lot","2% TCS 206C(1C)","sale","tcs","percent","2.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1c_p","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1C) Parking lot","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1C) Parking lot","","","","" +"tcs_5_us_206c_1c_pl","5% TCS 206C(1C): P","TCS @5% u/s 206C(1C): Parking lot","5% TCS 206C(1C)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1c_p","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1C) Parking lot","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1C) Parking lot","","","","" +"tcs_2_us_206c_1c_tp","2% TCS 206C(1C): T","TCS @2% u/s 206C(1C): Toll plaza","2% TCS 206C(1C)","sale","tcs","percent","2.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1c_t","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1C) Toll plaza","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1C) Toll plaza","","","","" +"tcs_5_us_206c_1c_tp","5% TCS 206C(1C): T","TCS @5% u/s 206C(1C): Toll plaza","5% TCS 206C(1C)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1c_t","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1C) Toll plaza","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1C) Toll plaza","","","","" +"tcs_2_us_206c_1c_maq","2% TCS 206C(1C): M Q","TCS @2% u/s 206C(1C): Mining and quarrying","2% TCS 206C(1C)","sale","tcs","percent","2.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1c_mq","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1C) Mining and quarrying","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1C) Mining and quarrying","","","","" +"tcs_5_us_206c_1c_maq","5% TCS 206C(1C): M Q","TCS @5% u/s 206C(1C): Mining and quarrying","5% TCS 206C(1C)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1c_mq","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1C) Mining and quarrying","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1C) Mining and quarrying","","","","" +"tcs_1_us_206c_1f_mv","1% TCS 206C(1F): M V","TCS @1% u/s 206C(1F): Motor Vehicle","1% TCS 206C(1F)","sale","tcs","percent","1.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1f_mv","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1F)","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1F)","","","","" +"tcs_5_us_206c_1f_mv","5% TCS 206C(1F): M V","TCS @5% u/s 206C(1F): Motor Vehicle","5% TCS 206C(1F)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1f_mv","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1F)","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1F)","","","","" +"tcs_5_us_206c_1g_som","5% TCS 206C(1G): R","TCS @5% u/s 206C(1G): Sum of money (above 7 lakhs) for remittance out of India","5% TCS 206C(1G)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1g_r","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1G) remittance out of India","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1G) remittance out of India","","","","" +"tcs_5_us_206c_1g_soaotpp","5% TCS 206C(1G): O T","TCS @5% u/s 206C(1G): Seller of an overseas tour program package","5% TCS 206C(1G)","sale","tcs","percent","5.0","consu","False","tcs_group","","","","","","","100","base","invoice","","","l10n_in.tcs_section_206c1g_ot","","","" +"","","","","","","","","","","","","","","","","","100","tax","invoice","p11245","206C(1G) overseas tour program","","","","" +"","","","","","","","","","","","","","","","","","100","base","refund","","","","","","" +"","","","","","","","","","","","","","","","","","100","tax","refund","p11245","206C(1G) overseas tour program","","","","" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.tax.group-in.csv b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.tax.group-in.csv new file mode 100644 index 0000000..3195b0d --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/template/account.tax.group-in.csv @@ -0,0 +1,11 @@ +"id","name","country_id","sequence","tax_payable_account_id","tax_receivable_account_id" +"sgst_group","SGST/UTGST","base.in","","p11239","p10059" +"cgst_group","CGST","base.in","","p11239","p10059" +"igst_group","IGST","base.in","","p11239","p10059" +"cess_group","CESS","base.in","","p11239","p10059" +"gst_group","GST","base.in","","p11239","p10059" +"exempt_group","Exempt","base.in","","p11239","p10059" +"nil_rated_group","Nil Rated","base.in","","p11239","p10059" +"non_gst_supplies_group","Non GST Supplies","base.in","","p11239","p10059" +"tcs_group","TCS","base.in","100","p11239","p10059" +"tds_group","TDS","base.in","100","p11239","p10059" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/uom_data.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/uom_data.xml index daaa40c..d41c4f8 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/uom_data.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/data/uom_data.xml @@ -36,7 +36,7 @@ CMS-CENTIMETERS - + SQM-SQUARE METERS @@ -63,7 +63,7 @@ OTH-OTHERS - + SQF-SQUARE FEET @@ -81,4 +81,7 @@ OTH-OTHERS + + MLT-MILILITRE + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/account_demo.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/account_demo.py index 355b752..aea46df 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/account_demo.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/account_demo.py @@ -1,15 +1,623 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, models +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 = self.env.company + def _get_demo_data(self, company=False): + demo_data = {} if company.account_fiscal_country_id.code == "IN": - if company.state_id.country_id.code != "IN": - company.state_id = self.env.ref("base.state_in_gj") - if company.country_id.code != "IN": - company.country_id = self.env.ref("base.in") - return super()._get_demo_data() + if company.state_id: + company.write({ + 'l10n_in_is_gst_registered': True, + 'l10n_in_tcs_feature': True, + 'l10n_in_tds_feature': True, + 'l10n_in_edi_production_env': False, + }) + demo_data = { + 'res.partner.category': self._get_demo_data_res_partner_category(company), + 'res.partner': self._get_demo_data_partner(), + '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.warning('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 = self.env.company + if company.account_fiscal_country_id.code != "IN" or not company.state_id: + return super()._get_demo_data_partner() + inter_state_ref = 'base.state_in_ts' + intra_state_ref = 'base.state_in_gj' + default_partner_dict = {'country_id': 'base.in', 'is_company': True, 'company_id': company.id} + return{ + 'res_partner_registered_customer': { + **default_partner_dict, + 'name': 'B2B Customer Intra State', + 'category_id': 'res_partner_category_registered', + 'l10n_in_gst_treatment': 'regular', + 'street': '201, Second Floor, IT Tower 4', + 'street2': 'InfoCity Gate - 1, Infocity', + 'city': 'Gandhinagar', + 'state_id': 'base.state_in_gj', + 'zip': '382010', + 'vat': '24AABCT1332L2ZD', + }, + 'res_partner_registered_customer_inter_state': { + **default_partner_dict, + 'name': 'B2B Customer Inter 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', + 'city': 'Hyderabad', + 'state_id': inter_state_ref, + 'zip': '500014', + 'vat': '36AAACM4154G1ZO', + }, + 'res_partner_unregistered_customer':{ + **default_partner_dict, + 'name': 'B2C Customer Intra State', + 'category_id': 'res_partner_category_unregistered', + 'l10n_in_gst_treatment': 'unregistered', + 'street': 'B105, yogeshwar Tower', + 'state_id': intra_state_ref, + 'city': 'Rajkot', + 'zip': '360001' + }, + 'res_partner_unregistered_customer_inter_state':{ + **default_partner_dict, + 'name': 'B2C Customer Inter State', + 'category_id': 'res_partner_category_unregistered', + 'l10n_in_gst_treatment': 'unregistered', + 'street': '80, Sarojini Devi Road', + 'city': 'Hyderabad', + 'state_id': inter_state_ref, + 'zip': '500003' + }, + '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', + 'city': 'Madurai', + 'state_id': 'base.state_in_tn', + 'zip': '625218', + 'vat': '33AACCT6304M1DB', + }, + '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': '401, Fourth Floor, IT Tower 4', + 'street2': 'InfoCity Gate - 1, Infocity', + 'city': 'Hyderabad', + 'state_id': inter_state_ref, + 'zip': '500014', + 'vat': '36AACCT6304M1ZB', + }, + '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': company.id, + }, + } + + @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. + self.company_xmlid('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('sgst_sale_28')])], + }), + Command.create({ + 'product_id': 'product.product_product_9', + 'quantity': 3, + 'price_unit': 400.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_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('sgst_sale_18')])], + }), + ], + }, + self.company_xmlid('demo_invoice_b2b_2'): { + 'move_type': 'out_invoice', + 'partner_id': 'res_partner_registered_customer_inter_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('igst_sale_5')])], + }), + Command.create({ + 'product_id': 'product.product_product_10', + 'quantity': 3, + 'price_unit': 300.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_5')])], + }), + ], + }, + self.company_xmlid('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')])], + }), + ] + }, + self.company_xmlid('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('sgst_purchase_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 3, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_purchase_18')])], + }), + ] + }, + self.company_xmlid('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('sgst_purchase_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 3, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_purchase_18')])], + }), + ] + }, + self.company_xmlid('demo_invoice_to_extract'): { + 'move_type': 'in_invoice', + 'message_main_attachment_id': 'ir_attachment_in_invoice_1', + }, + self.company_xmlid('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('sgst_purchase_18')])], + }), + ], + 'message_main_attachment_id': 'ir_attachment_in_invoice_2', + }, + # Demo of IMP(Import) of supplies. + self.company_xmlid('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('sgst_purchase_18')])], + }), + ] + }, + # Demo of cdnr(Credit/ Debit Note for registered business). Create credit note for demo b2b bill. + self.company_xmlid('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('sgst_purchase_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 1, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_purchase_18')])], + }), + ] + }, + self.company_xmlid('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. + self.company_xmlid('demo_invoice_b2cs'): { + 'move_type': 'out_invoice', + 'partner_id': 'res_partner_unregistered_customer_inter_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('igst_sale_18')])], + }), + Command.create({ + 'product_id': 'product.product_product_20', + 'quantity': 1, + 'price_unit': 2300.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_18')])], + }), + Command.create({ + 'product_id': 'product.product_product_22', + 'quantity': 1, + 'price_unit': 2600.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_sale_18')])], + }), + Command.create({ + 'product_id': 'product.product_product_24', + 'quantity': 2, + 'price_unit': 1655.0, + 'tax_ids': [Command.set([_get_tax_by_id('igst_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. + self.company_xmlid('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('sgst_sale_18')])], + }), + ] + }, + # Demo of EXP(Export) supplies including supplies to SEZ/SEZ Developer or deemed exports. + self.company_xmlid('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_sez_exp')])], + }), + ] + }, + # Demo of exempt(Nil Rated, Exempted and Non GST supplies). Set Nill rated and Exempted tax in line. + self.company_xmlid('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. + self.company_xmlid('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('sgst_sale_28')])], + }), + Command.create({ + 'product_id': 'product.product_product_9', + 'quantity': 3, + 'price_unit': 400.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_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('sgst_sale_18')])], + }), + ] + }, + self.company_xmlid('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('sgst_sale_18')])], + }), + Command.create({ + 'product_id': 'product.consu_delivery_03', + 'quantity': 1, + 'price_unit': 2000.0, + 'tax_ids': [Command.set([_get_tax_by_id('sgst_sale_18')])], + }), + ] + }, + # Demo of cdnr(Credit/ Debit Note for unregistered person). Create credit note for demo b2cl invoice. + self.company_xmlid('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('sgst_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/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/account_invoice_demo.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/account_invoice_demo.xml deleted file mode 100644 index e83d9bd..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/account_invoice_demo.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - out_invoice - - - - - - regular - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/demo_company.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/demo_company.xml index 8ee7c61..e0b2947 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/demo_company.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/demo_company.xml @@ -1,35 +1,39 @@ - + IN Company - 36AABCT1332L011 + 24FANCY1234AAZA + GANI12345A Block no. 401 Street 2 - Hyderabad + Gandhinagar - - 500001 + + 382002 +91 81234 56789 info@company.inexample.com www.inexample.com + - + IN Company - + - + - + - - + + in + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/product_demo.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/product_demo.xml index f68157b..8ab2097 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/product_demo.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/product_demo.xml @@ -2,127 +2,96 @@ 998391 - Specialty Design Services Including Interior Design, Fashion Design, Industrial Design And Other Specialty Design Services 998391 - Specialty Design Services Including Interior Design, Fashion Design, Industrial Design And Other Specialty Design Services 9403 - Other furniture and parts thereof. 9403 - Other furniture and parts thereof. 9403 - Other furniture and parts thereof. 9403 - Other furniture and parts thereof. 9403 - Other furniture and parts thereof. 9403 - Other furniture and parts thereof. 48196000 - Box files, letter trays, storage boxes and similar articles, of a kind used in offices, shops or the like 9403 - Other furniture and parts thereof. 7323 - Table, kitchen or other household articles and parts thereof, of iron or steel; iron or steel wool; pot scourers and scouring or polishing pads, gloves and the like, of iron or steel. 84185000 - Other furniture (chests, cabinets, display counters, show-cases and the like) for storage and display, incorporating refrigerating or freezing equipment 94018000 - Seats (other than those of heading 9402), whether or not convertible into beds, and parts thereof 94018000 - Seats (other than those of heading 9402), whether or not convertible into beds, and parts thereof 94018000 - Seats (other than those of heading 9402), whether or not convertible into beds, and parts thereof 9403 - Other furniture and parts thereof. 94031090 - Metal furniture of a kind used in offices 37011090 - Photographic plates and film in the flat, sensitised, unexposed, of any material other than paper, paperboard or textiles; instant print film in the flat, sensitised, unexposed, whether or not in packs. 9403 - Other furniture and parts thereof. 94031090 - Metal furniture of a kind used in offices 94031090 - Metal furniture of a kind used in offices 94031090 - Metal furniture of a kind used in offices - 9963.31 - Services provided by Restaurants, Cafes and similar eating facilities including takeaway services, Room services and door delivery of food. - + 996331 - 9963.32 - Services provided by Hotels, INN, Guest House, Club etc including Room services, takeaway services and door delivery of food. + 996332 94018000 - Seats (other than those of heading 9402), whether or not convertible into beds, and parts thereof 94051090 - Lamps and lighting fittings including searchlights and spotlights and parts thereof, not elsewhere specified or included; illuminated signs, illuminated name-plates and the like, having a permanently fixed light source, and parts thereof not elsewhere specified or included - 4911.99.10 - Hard copy (printed) of computer software + 49119910 - 9401.61.00 - Seats (other than those of heading 9402), whether or not convertible into beds, and parts thereof + 94016100 - 9403.89.00 - Other Furniture + 94038900 9403 - Other furniture and parts thereof. diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/res_partner_demo.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/demo/res_partner_demo.xml deleted file mode 100644 index 367a584..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/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/odoo-bringout-oca-ocb-l10n_in/l10n_in/i18n/hi.po b/odoo-bringout-oca-ocb-l10n_in/l10n_in/i18n/hi.po new file mode 100644 index 0000000..9722adf --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/i18n/hi.po @@ -0,0 +1,2680 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_in +# +# Weblate , 2025. +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 19.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 19:05+0000\n" +"PO-Revision-Date: 2025-11-17 03:12+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Hindi \n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n==0 || n==1);\n" +"X-Generator: Weblate 5.12.2\n" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_journal_type +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_journal_type +msgid "" +"\n" +" Select 'Sale' for customer invoices journals.\n" +" Select 'Purchase' for vendor bills journals.\n" +" Select 'Cash', 'Bank' or 'Credit Card' for journals that are used in " +"customer or vendor payments.\n" +" Select 'General' for miscellaneous operations journals.\n" +" " +msgstr "" +"\n" +" कस्टमर इनवॉइस जर्नल के लिए 'सेल' को चुनें.\n" +" वेंडर बिल जर्नल के लिए 'परचेज़' को चुनें.\n" +" उन जर्नल के लिए 'कैश', 'बैंक' या 'क्रेडिट कार्ड' चुनें जिनका इस्तेमाल ग्राहकों या " +"वेंडर को भुगतान करने के लिए किया जाता है.\n" +" अन्य छोटे-मोटे या सामान्य लेनदेन के लिए 'जनरल' चुनें.\n" +" " + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "" +" Warning: You are currently in a test environment. The result is a dummy." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_company__l10n_in_hsn_code_digit__4 +msgid "4 Digits (turnover < 5 CR.)" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "4 digits, 6 digits or 8 digits" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_company__l10n_in_hsn_code_digit__6 +msgid "6 Digits (turnover > 5 CR.)" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "6 digits or 8 digits" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_company__l10n_in_hsn_code_digit__8 +msgid "8 Digits" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "8 digits" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.view_account_payment_form_inherit_l10n_in_withholding +msgid "TDS" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "" +"Not Checked\n" +" Checked: " +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_base_vat_form +msgid "" +"Active\n" +" Inactive" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "" +"Active\n" +" Inactive" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_form +msgid "" +"Attaching a certificate would provide better clarity and understanding." +"" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "PAYMENT QR CODE" +msgstr "" + +#. module: l10n_in +#: model:ir.model.constraint,message:l10n_in.constraint_l10n_in_pan_entity_name_uniq +msgid "A PAN Entity with same PAN Number already exists." +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_account +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Account" +msgstr "खाता" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_chart_template +msgid "Account Chart Template" +msgstr "अकाउंट चार्ट टेंप्लेट" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_report +msgid "Accounting Report" +msgstr "अकाउंटिंग रिपोर्ट" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_needaction +msgid "Action Needed" +msgstr "कार्रवाई की ज़रूरत है" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Activate this to start using Indian services in the production environment." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_ids +msgid "Activities" +msgstr "गतिविधियाँ" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "ऐक्टिविटी एक्सेप्शन डेकोरेशन" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_state +msgid "Activity State" +msgstr "ऐक्टिविटी स्टेट" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_type_icon +msgid "Activity Type Icon" +msgstr "ऐक्टिविटी टाइप आइकॉन" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__is_aggregate_limit +msgid "Aggregate" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__aggregate_period +msgid "Aggregate Period" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__aggregate_limit +msgid "Aggregate limit" +msgstr "" + +#. module: l10n_in +#: model:ir.model.constraint,message:l10n_in.constraint_l10n_in_section_alert_aggregate_limit +msgid "Aggregate limit must be positive" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Apply Higher TCS" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.tds_entry_view_form +msgid "Apply TDS" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__j +msgid "Artificial Judicial Person" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "" +"As per GSTN the country should be other than India, so it's recommended to" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "As per GSTN the state should be %s, so it's recommended to" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "As the Partner's PAN missing/invalid apply TCS at the higher rate." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__a +msgid "Association of Persons" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__t +msgid "Association of Persons for a Trust" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_attachment_count +msgid "Attachment Count" +msgstr "अटैचमेंट की संख्या" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_b2b_rcm +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_b2b_rcm +msgid "B2B RCM" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_b2b_regular +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_b2b_regular +msgid "B2B Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_b2c_rcm +msgid "B2C RCM" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_b2c_regular +msgid "B2C Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_b2cl +msgid "B2CL" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_b2cs +msgid "B2CS" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_cess +msgid "BASE CESS" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_cgst +msgid "BASE CGST" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_igst +msgid "BASE IGST" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_sgst +msgid "BASE SGST" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_state_cess +msgid "BASE STATE CESS" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_config_settings__l10n_in_gsp__bvm +msgid "BVM IT Consulting" +msgstr "" + +#. module: l10n_in +#: model:account.report.column,name:l10n_in.tcs_report_balance +#: model:account.report.column,name:l10n_in.tds_report_balance +msgid "Balance" +msgstr "बैलेंस" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__base +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Base Amount" +msgstr "बेस अमाउंट" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Bill of Entry Date" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Bill of Entry Number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__b +msgid "Body of Individuals" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Buy Credits" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Buy credits" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_cdnr_rcm +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_rcm +msgid "CDNR RCM" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_cdnr_regular +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_regular +msgid "CDNR Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_deemed_export +msgid "CDNR(Deemed Export)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_sez_wop +msgid "CDNR(SEZ-WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_sez_wp +msgid "CDNR(SEZ-WP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_cdnur_rcm +msgid "CDNUR RCM" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_cdnur_regular +msgid "CDNUR Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnur_b2cl +msgid "CDNUR(B2CL)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnur_exp_wop +msgid "CDNUR(EXP-WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnur_exp_wp +msgid "CDNUR(EXP-WP)" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.cess_tag_account +#: model:account.account.tag,name:l10n_in.tax_tag_cess +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "CESS" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.cgst_tag_account +#: model:account.account.tag,name:l10n_in.tax_tag_cgst +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "CGST" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Changes to this configuration will be automatically applied to all Indian " +"companies.\n" +" Please refer to the" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_gstin_status_feature +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_gstin_status_feature +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Check GST Number Status" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_base_vat_form +msgid "Check GSTIN status" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_base_vat_form +msgid "Check Status" +msgstr "स्टेटस की जांच करें" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.account_tag_closing_stock +msgid "Closing Stock" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_res_company +msgid "Companies" +msgstr "कंपनियां" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__company_id +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__c +msgid "Company" +msgstr "कंपनी" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_res_config_settings +msgid "Config Settings" +msgstr "कॉन्फ़िगरेशन सेटिंग" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Connect to GST portal to submit GSTR-1 and get GSTR-2B" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Connect to NIC (National Informatics Center) to submit e-waybill on posting." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Connect to NIC (National Informatics Center) to submit invoices on posting." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__consider_amount +msgid "Consider" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__consumer +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__consumer +msgid "Consumer" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_res_partner +msgid "Contact" +msgstr "संपर्क" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Costs 1 credit per transaction. Free 200 credits will be available for the " +"first time." +msgstr "" + +#. module: l10n_in +#. odoo-javascript +#: code:addons/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js:0 +msgid "Could not contact API" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_res_country_state +msgid "Country state" +msgstr "" + +#. module: l10n_in +#: model:ir.actions.act_window,name:l10n_in.l10n_in_withholding_entry_form_action +msgid "Create TDS Entry" +msgstr "" + +#. module: l10n_in +#: model:ir.model,website_form_label:l10n_in.model_res_partner +msgid "Create a Customer" +msgstr "ग्राहक बनाएं" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__create_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__create_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__create_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__create_uid +msgid "Created by" +msgstr "इन्होंने बनाया" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__create_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__create_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__create_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__create_date +msgid "Created on" +msgstr "इस तारीख को बनाया गया" + +#. module: l10n_in +#: model:iap.service,unit_name:l10n_in.iap_service_l10n_in_edi +msgid "Credits" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__currency_id +msgid "Currency" +msgstr "करेंसी" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Customer Payment" +msgstr "कस्टमर पेमेंट" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__date +msgid "Date" +msgstr "तारीख" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__deemed_export +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_deemed_export +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__deemed_export +msgid "Deemed Export" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.tds_entry_view_form +msgid "Discard" +msgstr "खारिज करें" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_journal__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_move__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_report__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__display_name +#: model:ir.model.fields,field_description:l10n_in.field_iap_account__display_name +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__display_name +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__display_name +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__display_name +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__display_name +#: model:ir.model.fields,field_description:l10n_in.field_product_template__display_name +#: model:ir.model.fields,field_description:l10n_in.field_res_company__display_name +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:l10n_in.field_res_country_state__display_name +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__display_name +#: model:ir.model.fields,field_description:l10n_in.field_uom_uom__display_name +msgid "Display Name" +msgstr "डिस्प्ले का नाम" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_display_higher_tcs_button +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_display_higher_tcs_button +msgid "Display higher TCS button" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__display_pan_warning +#: model:ir.model.fields,field_description:l10n_in.field_res_users__display_pan_warning +msgid "Display pan warning" +msgstr "" + +#. module: l10n_in +#: model:res.partner.industry,full_name:l10n_in.eco_under_section_52 +msgid "E-Commerce operator liable to deduct TCS under section 52" +msgstr "" + +#. module: l10n_in +#: model:res.partner.industry,full_name:l10n_in.eco_under_section_9_5 +msgid "E-Commerce operator liable to pay tax under section 9(5)" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "E-Invoicing" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "E-Way bill" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_eco_9_5 +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_eco_9_5 +msgid "ECO 9(5)" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_eco_tcs_52 +msgid "ECO TCS 52" +msgstr "" + +#. module: l10n_in +#: model:res.partner.industry,name:l10n_in.eco_under_section_52 +msgid "ECO liable to deduct TCS u/s 52" +msgstr "" + +#. module: l10n_in +#: model:res.partner.industry,name:l10n_in.eco_under_section_9_5 +msgid "ECO liable to pay GST u/s 9(5)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_enet_vendor_batch_payment_feature +msgid "ENet Vendor Batch Payment" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_tax +msgid "ETA tax codes mixin" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_exp_wop +msgid "EXP(WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_exp_wp +msgid "EXP(WP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_company__l10n_in_edi_production_env +#: model:ir.model.fields,help:l10n_in.field_res_config_settings__l10n_in_edi_production_env +msgid "Enable the use of production credentials" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Enable this if you have GST number except composition scheme." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Enable this to activate the Tax Collected at Source (TCS) feature and the " +"account-based TCS section suggestion." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Enable this to activate the Tax Deducted at Source (TDS) feature and the " +"account-based TDS section suggestion." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Enable this to check the GST Number status" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Ensure that the HSN/SAC Code consists either %s in invoice lines" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.tds_entry_view_form +msgid "Entry Date" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_exempt +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_exempt +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__exempt +msgid "Exempt" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Export" +msgstr "एक्सपोर्ट करें" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Export - LUT (WOP)" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Export India" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_fetch_vendor_edi_feature +msgid "Fetch Vendor E-Invoiced Document" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__aggregate_period__fiscal_yearly +msgid "Financial Yearly" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__f +msgid "Firms" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/company.py:0 +msgid "First enable GST e-Filing feature from configuration for company %s." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_follower_ids +msgid "Followers" +msgstr "फ़ॉलोवर" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_partner_ids +msgid "Followers (Partners)" +msgstr "फ़ॉलोवर (पार्टनर)" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "फॉन्ट के बेहतरीन आइकॉन जैसे, फा-टॉस्क" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_gsp +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "GSP" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__gst +msgid "GST" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__module_l10n_in_reports +msgid "GST E-Filing & Matching" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_gst_efiling_feature +msgid "GST E-Filing & Matching Feature" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_gstin +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "GST Number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_partner_gstin_status +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_partner_gstin_status +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gstin_verified_status +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gstin_verified_status +msgid "GST Status" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_gst_treatment +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_gst_treatment +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gst_treatment +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gst_treatment +msgid "GST Treatment" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_gstin +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_gstin +msgid "GSTIN" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "GSTIN %(vat)s is %(status)s and Effective from %(date_from)s." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "GSTIN %(vat)s is %(status)s, effective date is not available." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "GSTIN Status Updated Successfully" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gstin_verified_date +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gstin_verified_date +msgid "GSTIN Verified Date" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "GSTIN:" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__l10n_in_gstr_section +msgid "GSTR Section" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Generate Vendor Payment Order file(csv file), upload to your bank to make " +"the payments" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_config_settings.py:0 +msgid "Go to Company" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Go to Company configuration" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/company.py:0 +msgid "Go to configuration" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__g +msgid "Government" +msgstr "सरकार" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_product_product__l10n_in_hsn_warning +#: model:ir.model.fields,field_description:l10n_in.field_product_template__l10n_in_hsn_warning +msgid "HSC/SAC warning" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_hsn_code_digit +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_hsn_code_digit +msgid "HSN Code Digit" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "HSN Summary" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/product_template.py:0 +msgid "HSN code field must consist solely of digits and be %s in length." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_move_line.py:0 +msgid "HSN code is not set in product line %(name)s" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "HSN/SAC" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__l10n_in_hsn_code +#: model:ir.model.fields,field_description:l10n_in.field_product_product__l10n_in_hsn_code +#: model:ir.model.fields,field_description:l10n_in.field_product_template__l10n_in_hsn_code +msgid "HSN/SAC Code" +msgstr "HSN/SAC कोड" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"HSN/SAC Digit Validation for GST Compliance based on your Aggregate Annual " +"Turnover (AATO)." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "HSN/SAC Validation" +msgstr "" + +#. module: l10n_in +#: model:account.cash.rounding,name:l10n_in.cash_rounding_in_half_up +msgid "Half Up" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_product_product__l10n_in_hsn_code +#: model:ir.model.fields,help:l10n_in.field_product_template__l10n_in_hsn_code +msgid "Harmonized System Nomenclature/Services Accounting Code" +msgstr "हार्मोनाइज्ड सिस्टम नोमेनक्लेचर/सर्विसेज अकाउंटिंग कोड" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__has_message +msgid "Has Message" +msgstr "मैसेज है" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__tds_deduction__higher +msgid "Higher" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_withhold_wizard__tds_deduction__higher +msgid "Higher Deduction" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__h +msgid "Hindu Undivided Family" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_iap_account +msgid "IAP Account" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__id +#: model:ir.model.fields,field_description:l10n_in.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_in.field_account_journal__id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__id +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__id +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__id +#: model:ir.model.fields,field_description:l10n_in.field_account_report__id +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__id +#: model:ir.model.fields,field_description:l10n_in.field_iap_account__id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__id +#: model:ir.model.fields,field_description:l10n_in.field_product_template__id +#: model:ir.model.fields,field_description:l10n_in.field_res_company__id +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__id +#: model:ir.model.fields,field_description:l10n_in.field_res_country_state__id +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__id +#: model:ir.model.fields,field_description:l10n_in.field_uom_uom__id +msgid "ID" +msgstr "आईडी" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.igst_tag_account +#: model:account.account.tag,name:l10n_in.tax_tag_igst +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "IGST" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_imp_goods +msgid "IMP(goods)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_imp_services +msgid "IMP(service)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_exception_icon +msgid "Icon" +msgstr "आइकॉन" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "एक छोटा निशान जो बताता है कि कुछ अलग या असामान्य हुआ है।" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_config_settings__l10n_in_gstin +msgid "Identification Number for selected type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_needaction +msgid "If checked, new messages require your attention." +msgstr "अगर यह बॉक्स चेक है, तो नए मैसेज देखने ज़रूरी हैं।" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_has_error +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "अगर बॉक्स पर टिक है, तो कुछ मैसेज भेजने में गलती हुई है।" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Import India" +msgstr "" + +#. module: l10n_in +#: model:ir.ui.menu,name:l10n_in.account_reports_in_statements_menu +msgid "India" +msgstr "भारत" + +#. module: l10n_in +#: model:res.country.group,name:l10n_in.inter_state_group +msgid "India Inter-State Group" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_form_view +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_search_view +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_tree_view +msgid "India Port Code" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "India TDS Control:" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__module_l10n_in_edi +msgid "Indian Electronic Invoicing" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__module_l10n_in_ewaybill +msgid "Indian Electronic Waybill" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_uom_uom__l10n_in_code +msgid "Indian GST UQC" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Indian Integration" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_l10n_in_pan_entity +msgid "Indian PAN Entity" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_withhold_move_ids +msgid "Indian Payment TDS Entries" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_edi_production_env +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_edi_production_env +msgid "Indian Production Environment" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_withhold_move_ids +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_withhold_move_ids +msgid "Indian TDS Entries" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_withholding_line_ids +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_withholding_line_ids +msgid "Indian TDS Lines" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_withholding_ref_move_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_withholding_ref_move_id +msgid "Indian TDS Ref Move" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_withholding_ref_payment_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_withholding_ref_payment_id +msgid "Indian TDS Ref Payment" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_tax_type +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__l10n_in_tds_tax_type +msgid "Indian Tax Type" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_l10n_in_port_code +msgid "Indian port code" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__p +msgid "Individual" +msgstr "व्यक्तिगत" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Inter State" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Intra State" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_move_line.py:0 +msgid "Invalid HSN Code (%(hsn_code)s) in product line %(product_line)s" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Invalid HSN/SAC Code digit" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Invalid sequence as per GST rule 46(b)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__related_move_id +msgid "Invoice/Bill" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_is_follower +msgid "Is Follower" +msgstr "फ़ॉलोवर है" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_is_withholding +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_is_withholding +msgid "Is Indian TDS Entry" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_section_alert.py:0 +msgid "" +"It's advisable to %(action)s %(section_type)s u/s %(warning)s on this " +"transaction." +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_journal +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__journal_id +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Journal" +msgstr "पत्रिका" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_move +msgid "Journal Entry" +msgstr "जर्नल एंट्री" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_move_line +msgid "Journal Item" +msgstr "जर्नल आइटम" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Journal Item(s)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_journal_type +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_journal_type +msgid "Journal Type" +msgstr "जर्नल टाइ" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.view_move_line_list_l10n_in_withholding +msgid "Journal items" +msgstr "जर्नल आइटम" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__k +msgid "Krish (Trust Krish)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_gst_state_warning +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gst_state_warning +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gst_state_warning +msgid "L10N In Gst State Warning" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_gst_tax_type +msgid "L10N In Gst Tax Type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gstin_status_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gstin_status_feature_enabled +msgid "L10N In Gstin Status Feature Enabled" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_gstin_verified_date +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_gstin_verified_date +msgid "L10N In Gstin Verified Date" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_product_product__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_product_template__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_is_gst_registered_enabled +msgid "L10N In Is Gst Registered Enabled" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_show_gstin_status +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_show_gstin_status +msgid "L10N In Show Gstin Status" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__l10n_in_tcs_feature_enabled +msgid "L10N In Tcs Feature Enabled" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__l10n_in_tds_feature_enabled +msgid "L10N In Tds Feature Enabled" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_total_withholding_amount +msgid "L10N In Total Withholding Amount" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_warning +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_warning +msgid "L10N In Warning" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_is_lut +msgid "LUT" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__write_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__write_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__write_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__write_uid +msgid "Last Updated by" +msgstr "इन्होंने आखिरी बार अपडेट किया" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__write_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__write_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__write_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__write_date +msgid "Last Updated on" +msgstr "आखिरी बार अपडेट हुआ" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__l +msgid "Local Authority" +msgstr "लोकल अथॉरिटी" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__tds_deduction__lower +msgid "Lower" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_withhold_wizard__tds_deduction__lower +msgid "Lower Deduction" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__msme_number +msgid "MSME/Udyam Registration Number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__msme_type +msgid "MSME/Udyam Registration Type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__group_l10n_in_reseller +#: model:res.groups,name:l10n_in.group_l10n_in_reseller +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Manage Reseller(E-Commerce)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__msme_type__medium +msgid "Medium" +msgstr "मीडियम" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_has_error +msgid "Message Delivery error" +msgstr "मैसेज डिलीवरी में गड़बड़ी" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_ids +msgid "Messages" +msgstr "संदेश" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__msme_type__micro +msgid "Micro" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__aggregate_period__monthly +msgid "Monthly" +msgstr "महीने के हिसाब से" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "मेरी गतिविधि की डेडलाइन" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_non_itc +msgid "NON ITC" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Negative or zero values are not allowed in Base Amount for withhold" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Negative or zero values are not allowed in TDS Amount for withhold" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_calendar_event_id +msgid "Next Activity Calendar Event" +msgstr "अगली गतिविधि कैलेंडर इवेंट" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "अगली गतिविधि की डेडलाइन" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_summary +msgid "Next Activity Summary" +msgstr "अगली गतिविधी की जानकारी" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_type_id +msgid "Next Activity Type" +msgstr "अगली गतिविधि का प्रकार" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_nil_rated +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_nil_rated +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__nil_rated +msgid "Nil Rated" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__tds_deduction__no +msgid "No" +msgstr "नही" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_withhold_wizard__tds_deduction__no +msgid "No Deduction" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__non_gst +msgid "Non-GST" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_non_gst_supplies +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_non_gst_supplies +msgid "Non-GST Supplies" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__tds_deduction__normal +msgid "Normal" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_withhold_wizard__tds_deduction__normal +msgid "Normal Deduction" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "Not enough credits to check GSTIN status" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_needaction_counter +msgid "Number of Actions" +msgstr "ऐक्शन की संख्या" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_has_error_counter +msgid "Number of errors" +msgstr "गड़बड़ी की संख्या" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "ऐसे मैसेज की संख्या जिनपर कार्रवाई की ज़रूरत है" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "डिलीवरी में गड़बड़ी वाले मैसेज की संख्या" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_reseller_partner_id +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_reseller_partner_id +msgid "Only Registered Reseller" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_other_non_itc +msgid "Other NON ITC" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_out_of_scope +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_out_of_scope +msgid "Out of Scope" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__overseas +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__overseas +msgid "Overseas" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__name +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_pan_entity_id +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_pan_entity_id +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_pan_entity_id +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_res_partner_filter +msgid "PAN" +msgstr "" + +#. module: l10n_in +#: model:ir.actions.act_window,name:l10n_in.l10n_in_pan_entity_action +#: model:ir.ui.menu,name:l10n_in.menu_l10n_in_pan_entity +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_form +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_tree +msgid "PAN Entity" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_pan_type +msgid "PAN Type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_partner__l10n_in_pan_entity_id +#: model:ir.model.fields,help:l10n_in.field_res_users__l10n_in_pan_entity_id +msgid "" +"PAN enables the department to link all transactions of the person with the " +"department.\n" +"These transactions include taxpayments, TDS/TCS credits, returns of income/" +"wealth/gift/FBT, specified transactions, correspondence, and so on.\n" +"Thus, PAN acts as an identifier for the person with the tax department." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_company__l10n_in_pan_entity_id +msgid "" +"PAN enables the department to link all transactions of the person with the " +"department.\n" +"These transactions include taxpayments, TDS/TCS credits, returns of income/" +"wealth/gift/FBT,specified transactions, correspondence, and so on.\n" +"Thus, PAN acts as an identifier for the person with the tax department." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_form +msgid "PAN number is not same as the 3rd to 12th characters of the GST number." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "" +"Partner %(partner_name)s (%(partner_id)s) GSTIN is required under GST " +"Treatment %(name)s" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__partner_ids +msgid "Partners" +msgstr "साथी" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__related_payment_id +msgid "Payment" +msgstr "पेमेंट" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_payment +msgid "Payments" +msgstr "पेमेंट" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__is_per_transaction_limit +msgid "Per Transaction" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__per_transaction_limit +msgid "Per Transaction limit" +msgstr "" + +#. module: l10n_in +#: model:ir.model.constraint,message:l10n_in.constraint_l10n_in_section_alert_per_transaction_limit +msgid "Per transaction limit must be positive" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_form +msgid "Permanent Account Number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_state_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_state_id +msgid "Place of supply" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.place_of_supply +msgid "Place of supply:" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Please buy more credits and retry: " +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Please configure the withholding account from the settings" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "" +"Please deduct TDS at higher rate if PAN is missing. Ignore if already " +"applied." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_config_settings.py:0 +msgid "" +"Please ensure that at least one Indian service and production environment is " +"enabled, and save the configuration to proceed with purchasing credits." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "Please enter the GSTIN" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Please set a partner on the %s before creating a withhold." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_config_settings.py:0 +msgid "Please set a valid GST number on company." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Please set a valid TIN Number on the Place of Supply %s" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__name +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_search_view +msgid "Port" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__code +msgid "Port Code" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_shipping_port_code_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_shipping_port_code_id +msgid "Port code" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_product_template +msgid "Product" +msgstr "प्रॉडक्ट" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_uom_uom +msgid "Product Unit of Measure" +msgstr "प्रॉडक्ट माप की इकाई" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Production Environment" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.view_move_line_tree_hsn_l10n_in +msgid "Products" +msgstr "प्रॉडक्ट" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "Proforma" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "Quantity" +msgstr "मात्रा" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "Rate %" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__rating_ids +msgid "Ratings" +msgstr "रेटिंग" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__reference +msgid "Reference" +msgstr "रेफ़रंस" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_withholding_ref_payment_id +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_withholding_ref_payment_id +msgid "Reference Payment for withholding entry" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_withholding_ref_move_id +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_withholding_ref_move_id +msgid "Reference move for withholding entry" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__composition +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__composition +msgid "Registered Business - Composition" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__regular +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__regular +msgid "Registered Business - Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_is_gst_registered +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_is_gst_registered +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Registered Under GST" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_reseller_partner_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_reseller_partner_id +msgid "Reseller" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_user_id +msgid "Responsible User" +msgstr "जिम्मेदार उपयोगकर्ता" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_base_vat_form +msgid "Reverify GSTIN status" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_reverse_charge +msgid "Reverse charge" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "SEZ - LUT (WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_sez_wop +msgid "SEZ(WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_sez_wp +msgid "SEZ(WP)" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.sgst_tag_account +#: model:account.account.tag,name:l10n_in.tax_tag_sgst +msgid "SGST" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "SGST/UTGST" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_has_sms_error +msgid "SMS Delivery error" +msgstr "एसएमएस डिलीवरी में गड़बड़ी" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_state_cess +msgid "STATE CESS" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "" +"SUPPLY MEANT FOR EXPORT/SUPPLY TO SEZ UNIT OR SEZ DEVELOPER FOR AUTHORISED " +"OPERATIONS ON PAYMENT OF INTEGRATED TAX." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "" +"SUPPLY MEANT FOR EXPORT/SUPPLY TO SEZ UNIT OR SEZ DEVELOPER FOR AUTHORISED " +"OPERATIONS UNDER BOND OR LETTER OF UNDERTAKING WITHOUT PAYMENT OF INTEGRATED " +"TAX." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Save this page and come back here to set up the feature." +msgstr "इस पेज को सेव करें और फिर इस सुविधा को सेट करने के लिए बाद में यहीं लौटकर आएं।" + +#. module: l10n_in +#. odoo-javascript +#: code:addons/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js:0 +msgid "Searching..." +msgstr "" + +#. module: l10n_in +#: model:ir.actions.act_window,name:l10n_in.l10n_in_section_alert_action +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_section_id +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_section_alert_view_form +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_section_alert_view_tree +msgid "Section" +msgstr "सेक्शन" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_192 +msgid "Section 192: Payment of salary" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_192a +msgid "" +"Section 192A: Payment of accumulated balance of provident fund which is " +"taxable in the hands of an employee" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_193 +msgid "Section 193: Interest on securities" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194i +msgid "Section 194-I: Rent" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194ia +msgid "" +"Section 194-IA: Payment on transfer of certain immovable property other than " +"agricultural land" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194ib +msgid "" +"Section 194-IB: Payment of rent by individual or HUF not liable to tax audit" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194ic +msgid "" +"Section 194-IC: Payment of monetary consideration under Joint Development " +"Agreements" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194o +msgid "" +"Section 194-O: Payment or credit of amount by the e-commerce operator to e-" +"commerce participant" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194 +msgid "Section 194: Income by way of dividend" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194a +msgid "" +"Section 194A: Income by way of interest other than \"Interest on securities\"" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194b +msgid "" +"Section 194B: Income by way of winnings from lotteries, crossword puzzles, " +"card games and other games of any sort" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194bb +msgid "Section 194BB: Income by way of winnings from horse races" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194c +msgid "Section 194C: Payment to contractor/sub-contractor" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194d +msgid "Section 194D: Insurance commission" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194da +msgid "Section 194DA: Payment in respect of life insurance policy" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194e +msgid "Section 194E: Payment to non-resident sportsmen/sports association" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194ee +msgid "" +"Section 194EE: Payment in respect of deposit under National Savings scheme" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194f +msgid "" +"Section 194F: Payment on account of repurchase of unit by Mutual Fund or " +"Unit Trust of India" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194g +msgid "Section 194G: Commission, etc., on sale of lottery tickets" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194h +msgid "Section 194H: Commission or brokerage" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194j +msgid "Section 194J: Fees for professional or technical services" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194k +msgid "Section 194K: Income in respect of units payable to resident person" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194la +msgid "" +"Section 194LA: Payment of compensation on acquisition of certain immovable " +"property" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194lb +msgid "Section 194LB: Payment of interest on infrastructure debt fund" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194lba +msgid "" +"Section 194LBA(1): Business trust shall deduct tax while distributing, any " +"interest received or receivable by it from a SPV or any income received from " +"renting or leasing or letting out any real estate asset owned directly by " +"it, to its unit holders." +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194lbb +msgid "" +"Section 194LBB: Investment fund paying an income to a unit holder [other " +"than income which is exempt under Section 10(23FBB)]" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194lbc +msgid "" +"Section 194LBC: Income in respect of investment made in a securitisation " +"trust (specified in Explanation of section115TCA)" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194m +msgid "" +"Section 194M: Payment of commission (not being insurance commission), " +"brokerage, contractual fee, professional fee to a resident person by an " +"Individual or a HUF who are not liable to deduct TDS under section 194C, " +"194H, or 194J." +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194n +msgid "" +"Section 194N: Cash withdrawal during the previous year from one or more " +"account maintained by a person with a banking company, co-operative society " +"engaged in business of banking or a post office" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194q +msgid "Section 194Q: Purchase of goods" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_195 +msgid "Section 195: Payment of any other sum to a Non -resident" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_alfhc +msgid "Section 206C(1): Alcoholic Liquor for human consumption" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_aofpnbtotl +msgid "" +"Section 206C(1): Any other forest produce not being timber or tendu leaves" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_mbcoloio +msgid "Section 206C(1): Minrals, being coal or lignite or iron ore" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_s +msgid "Section 206C(1): Scrap" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_tl +msgid "Section 206C(1): Tendu leaves" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_tobaotuafl +msgid "" +"Section 206C(1): Timber obtained by any mode other than under a forest lease" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_touafl +msgid "Section 206C(1): Timber obtained under a forest lease" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1c_maq +msgid "Section 206C(1C): Mining and quarrying" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1c_pl +msgid "Section 206C(1C): Parking lot" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1c_tp +msgid "Section 206C(1C): Toll plaza" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1f_mv +msgid "Section 206C(1F): Motor Vehicle" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1g_soaotpp +msgid "Section 206C(1G): Seller of an overseas tour program package" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1g_som +msgid "" +"Section 206C(1G): Sum of money (above 7 lakhs) for remittance out of India" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1h_sog +msgid "Section 206C(1H): Sale of Goods" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__name +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_section_alert_view_form +msgid "Section Name" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Select BVM as GSP Tera is Deprecated" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_config_settings__l10n_in_gsp +msgid "Select the GST Suvidha Provider (GSP) you want to use for GST services." +msgstr "" + +#. module: l10n_in +#: model:iap.service,description:l10n_in.iap_service_l10n_in_edi +msgid "Send electronic document to Indian government" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_shipping_bill_date +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_shipping_bill_date +msgid "Shipping bill date" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_shipping_bill_number +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_shipping_bill_number +msgid "Shipping bill number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__msme_type__small +msgid "Small" +msgstr "छोटा" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "" +"Something went wrong while fetching the GST status.Please Contact Support if " +"the error persists withResponse: %(response)s" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__special_economic_zone +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__special_economic_zone +msgid "Special Economic Zone" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Special Economic Zone (SEZ)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__state_id +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_search_view +msgid "State" +msgstr "स्थिति" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"ऐक्टिविटी के हिसाब से स्टेटस\n" +"ओवरड्यू: जिस काम की आखिरी तारीख निकल गई हो\n" +"टुडे: जो काम आज करना है\n" +"प्लान्ड: जो काम भविष्य में करने हैं।" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.view_move_line_list_l10n_in_withholding +msgid "Suggested Section" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_tan +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_tan +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_tan +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_tan +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "TAN" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_tcs_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_tcs_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_tcs_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_tcs_feature +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_tcs_feature +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__tcs +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__tax_source_type__tcs +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "TCS" +msgstr "" + +#. module: l10n_in +#: model:account.report,name:l10n_in.tcs_report +msgid "TCS Report" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__l10n_in_tds_tcs_section_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__l10n_in_tds_tcs_section_id +msgid "TCS/TDS Section" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_tds_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_tds_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_tds_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_tds_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_tds_feature +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_tds_feature +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__tax_source_type__tds +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "TDS" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_withholding_account_id +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_withholding_account_id +msgid "TDS Account" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__amount +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "TDS Amount" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__tds_certificate +msgid "TDS Certificate" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_pan_entity.py:0 +msgid "TDS Certificate Added" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__tds_certificate_filename +msgid "TDS Certificate Filename" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_tds_deduction +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_tds_deduction +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__tds_deduction +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__tds_deduction +msgid "TDS Deduction" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.view_account_payment_form_inherit_l10n_in_withholding +msgid "TDS Entry" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "TDS Information" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_withholding_journal_id +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_withholding_journal_id +msgid "TDS Journal" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__tds_purchase +msgid "TDS Purchase" +msgstr "" + +#. module: l10n_in +#: model:account.report,name:l10n_in.tds_report +msgid "TDS Report" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__tds_sale +msgid "TDS Sale" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__tax_id +#: model_terms:ir.ui.view,arch_db:l10n_in.tds_entry_view_form +msgid "TDS Section" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__l10n_in_withhold_tax_amount +msgid "TDS Tax Amount" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "TDS created from" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "" +"TDS must be created from Posted Customer Invoices, Customer Credit Notes, " +"Vendor Bills or Vendor Refunds." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "TDS must be created from an Invoice or a Payment." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "TDS of %s" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_country_state__l10n_in_tin +msgid "TIN Number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_country_state__l10n_in_tin +msgid "TIN number-first two digits" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Tax" +msgstr "टैक्स" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__tax_report_line_id +msgid "Tax Report Line" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__tax_source_type +msgid "Tax Source Type" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "Taxable Value" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__l10n_in_section_tax_ids +msgid "Taxes" +msgstr "टैक्स" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_is_withholding +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_is_withholding +msgid "Technical field to identify Indian withholding entry" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_config_settings__l10n_in_gsp__tera +msgid "Tera Software (Deprecated)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.constraint,message:l10n_in.constraint_l10n_in_port_code_code_uniq +msgid "The Port Code must be unique!" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "The base amount of TDS is greater than the amount of the %s" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"The current GSP is scheduled for deprecation soon.\n" +" We strongly recommend switching to " +"BVM GSP at the earliest to ensure uninterrupted service." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_pan_entity.py:0 +msgid "The entered PAN %s seems invalid. Please enter a valid PAN." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "" +"The invoice number should not exceed 16 characters\n" +"and must only contain '-' (hyphen) and '/' (slash) as special characters" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "The provided GSTIN is invalid. Please check the GSTIN and try again." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"This feature helps you to quickly create draft vendor bills using the data " +"your vendor submitted during E-invoicing on the GST portal." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "This feature is not activated. Go to Settings to activate this feature." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_section_alert_view_form +msgid "Threshold limits" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_tax__l10n_in_reverse_charge +msgid "Tick this if this tax is reverse charge. Only for Indian accounting" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_tax__l10n_in_is_lut +msgid "" +"Tick this if this tax is used in LUT (Letter of Undertaking) transactions. " +"Only for Indian accounting." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Total" +msgstr "कुल" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__consider_amount__total_amount +msgid "Total Amount" +msgstr "कुल राशइ" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_total_withholding_amount +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_total_withholding_amount +msgid "Total Indian TDS Amount" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_total_withholding_amount +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_total_withholding_amount +msgid "Total withholding amount for the move" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__type +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__type_name +msgid "Type" +msgstr "टाइप" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "रिकॉर्ड में जो अलग तरह की गतिविधि हुई है, वह किस तरह की है।" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__uin_holders +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__uin_holders +msgid "UIN Holders" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "UPI ID:" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_upi_id +msgid "UPI Id" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "Unable to connect with GST network" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_uom_uom__l10n_in_code +msgid "Unique Quantity Code (UQC) under GST" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "Unknown" +msgstr "अज्ञात" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__unregistered +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__unregistered +msgid "Unregistered Business" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__consider_amount__untaxed_amount +msgid "Untaxed Amount" +msgstr "बिना टैक्स वाली राशि" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Use this if setup with Reseller(E-Commerce)." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Vendor Payment" +msgstr "वेंडर पेमें" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Verify GSTIN status" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "View Journal Item(s)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__website_message_ids +msgid "Website Messages" +msgstr "वेबसाइट मैसेज" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__website_message_ids +msgid "Website communication history" +msgstr "वेबसाइट कम्यूनिकेशन हिस्ट्री" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_l10n_in_withhold_wizard +msgid "Withhold Wizard" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__l10n_in_withholding_warning +msgid "Withholding warning" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Within %s" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "You can only create a withhold for only one record at a time." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "You have insufficient credits to send this document!" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "You must be logged in an Indian company to use this feature" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "" +"Your company %s needs to have a correct address in order to validate this " +"invoice.\n" +"Set the address of your company (Don't forget the State field)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_gst_tax_type__cess +msgid "cess" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_gst_tax_type__cgst +msgid "cgst" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_section_alert.py:0 +msgid "collect" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_section_alert.py:0 +msgid "deduct" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "documentation" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_form +msgid "e.g. UDYAM-XX-00-0000000" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/product_template.py:0 +msgid "either 4, 6 or 8" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/product_template.py:0 +msgid "either 6 or 8" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "for detailed guidance on accurate configuration." +msgstr "" + +#. module: l10n_in +#. odoo-javascript +#: code:addons/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js:0 +msgid "hsn description field" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_gst_tax_type__igst +msgid "igst" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_l10n_in_section_alert +msgid "indian section alert" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_gst_tax_type__sgst +msgid "sgst" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_form +#: model_terms:ir.ui.view,arch_db:l10n_in.view_company_form +msgid "update it" +msgstr "" + +#~ msgid "Invoice" +#~ msgstr "बीजक" + +#~ msgid "Proforma Invoice" +#~ msgstr "प्रोफ़ॉर्मा इनवॉइस" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/i18n/l10n_in.pot b/odoo-bringout-oca-ocb-l10n_in/l10n_in/i18n/l10n_in.pot index b0d5244..8c5f097 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/i18n/l10n_in.pot +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/i18n/l10n_in.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0+e\n" +"Project-Id-Version: Odoo Server 19.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-01-06 14:12+0000\n" -"PO-Revision-Date: 2023-01-06 14:12+0000\n" +"POT-Creation-Date: 2026-02-20 19:05+0000\n" +"PO-Revision-Date: 2026-02-20 19:05+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -15,9 +15,106 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_journal_type +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_journal_type +msgid "" +"\n" +" Select 'Sale' for customer invoices journals.\n" +" Select 'Purchase' for vendor bills journals.\n" +" Select 'Cash', 'Bank' or 'Credit Card' for journals that are used in customer or vendor payments.\n" +" Select 'General' for miscellaneous operations journals.\n" +" " +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "" +" Warning: You are currently in a test environment. The result is a dummy." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_company__l10n_in_hsn_code_digit__4 +msgid "4 Digits (turnover < 5 CR.)" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "4 digits, 6 digits or 8 digits" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_company__l10n_in_hsn_code_digit__6 +msgid "6 Digits (turnover > 5 CR.)" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "6 digits or 8 digits" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_company__l10n_in_hsn_code_digit__8 +msgid "8 Digits" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "8 digits" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.view_account_payment_form_inherit_l10n_in_withholding +msgid "TDS" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "" +"Not Checked\n" +" Checked: " +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_base_vat_form +msgid "" +"Active\n" +" Inactive" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "" +"Active\n" +" Inactive" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_form +msgid "" +"Attaching a certificate would provide better clarity and " +"understanding." +msgstr "" + #. module: l10n_in #: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit -msgid "Total (In Words): " +msgid "PAYMENT QR CODE" +msgstr "" + +#. module: l10n_in +#: model:ir.model.constraint,message:l10n_in.constraint_l10n_in_pan_entity_name_uniq +msgid "A PAN Entity with same PAN Number already exists." +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_account +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Account" msgstr "" #. module: l10n_in @@ -26,55 +123,182 @@ msgid "Account Chart Template" msgstr "" #. module: l10n_in -#: model:ir.model,name:l10n_in.model_l10n_in_account_invoice_report -msgid "Account Invoice Statistics" +#: model:ir.model,name:l10n_in.model_account_report +msgid "Accounting Report" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__account_move_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__account_move_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__account_move_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__account_move_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__account_move_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__account_move_id -msgid "Account Move" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_needaction +msgid "Action Needed" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__date -msgid "Accounting Date" +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Activate this to start using Indian services in the production environment." msgstr "" #. module: l10n_in -#: model:ir.model,name:l10n_in.model_l10n_in_advances_payment_adjustment_report -msgid "Advances Payment Adjustment Analysis" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_ids +msgid "Activities" msgstr "" #. module: l10n_in -#: model:ir.model,name:l10n_in.model_l10n_in_advances_payment_report -msgid "Advances Payment Analysis" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_exception_decoration +msgid "Activity Exception Decoration" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__amount -msgid "Amount" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_state +msgid "Activity State" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__b2b_type -msgid "B2B Invoice Type" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_type_icon +msgid "Activity Type Icon" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__b2cl_is_ecommerce -msgid "B2CL Is E-commerce" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__is_aggregate_limit +msgid "Aggregate" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__b2cs_is_ecommerce -msgid "B2CS Is E-commerce" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__aggregate_period +msgid "Aggregate Period" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__aggregate_limit +msgid "Aggregate limit" +msgstr "" + +#. module: l10n_in +#: model:ir.model.constraint,message:l10n_in.constraint_l10n_in_section_alert_aggregate_limit +msgid "Aggregate limit must be positive" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Apply Higher TCS" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.tds_entry_view_form +msgid "Apply TDS" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__j +msgid "Artificial Judicial Person" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "" +"As per GSTN the country should be other than India, so it's recommended to" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "As per GSTN the state should be %s, so it's recommended to" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "As the Partner's PAN missing/invalid apply TCS at the higher rate." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__a +msgid "Association of Persons" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__t +msgid "Association of Persons for a Trust" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_b2b_rcm +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_b2b_rcm +msgid "B2B RCM" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_b2b_regular +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_b2b_regular +msgid "B2B Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_b2c_rcm +msgid "B2C RCM" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_b2c_regular +msgid "B2C Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_b2cl +msgid "B2CL" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_b2cs +msgid "B2CS" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_cess +msgid "BASE CESS" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_cgst +msgid "BASE CGST" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_igst +msgid "BASE IGST" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_sgst +msgid "BASE SGST" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_base_state_cess +msgid "BASE STATE CESS" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_config_settings__l10n_in_gsp__bvm +msgid "BVM IT Consulting" +msgstr "" + +#. module: l10n_in +#: model:account.report.column,name:l10n_in.tcs_report_balance +#: model:account.report.column,name:l10n_in.tds_report_balance +msgid "Balance" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__base +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Base Amount" msgstr "" #. module: l10n_in @@ -88,75 +312,156 @@ msgid "Bill of Entry Number" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__cess_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__cess_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__cess_amount -msgid "CESS amount" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__b +msgid "Body of Individuals" msgstr "" #. module: l10n_in -#: model:account.tax.group,name:l10n_in.cgst_group +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Buy Credits" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Buy credits" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_cdnr_rcm +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_rcm +msgid "CDNR RCM" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_cdnr_regular +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_regular +msgid "CDNR Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_deemed_export +msgid "CDNR(Deemed Export)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_sez_wop +msgid "CDNR(SEZ-WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnr_sez_wp +msgid "CDNR(SEZ-WP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_cdnur_rcm +msgid "CDNUR RCM" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_cdnur_regular +msgid "CDNUR Regular" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnur_b2cl +msgid "CDNUR(B2CL)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnur_exp_wop +msgid "CDNUR(EXP-WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_cdnur_exp_wp +msgid "CDNUR(EXP-WP)" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.cess_tag_account +#: model:account.account.tag,name:l10n_in.tax_tag_cess +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "CESS" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.cgst_tag_account +#: model:account.account.tag,name:l10n_in.tax_tag_cgst +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit msgid "CGST" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__cgst_amount -msgid "CGST Amount" +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Changes to this configuration will be automatically applied to all Indian companies.\n" +" Please refer to the" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__cgst_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__cgst_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__cgst_amount -msgid "CGST amount" +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_gstin_status_feature +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_gstin_status_feature +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Check GST Number Status" msgstr "" #. module: l10n_in -#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit -msgid "Cancelled" +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_base_vat_form +msgid "Check GSTIN status" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__cgst_amount -msgid "Central Tax Amount" +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_base_vat_form +msgid "Check Status" msgstr "" #. module: l10n_in -#: model:account.tax.group,name:l10n_in.cess_group -msgid "Cess" +#: model:account.account.tag,name:l10n_in.account_tag_closing_stock +msgid "Closing Stock" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__cess_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__cess_amount -msgid "Cess Amount" +#: model:ir.model,name:l10n_in.model_res_company +msgid "Companies" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__company_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__company_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__company_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__company_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__company_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__company_id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__company_id +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__c msgid "Company" msgstr "" -#. module: l10n_in -#: model:ir.model.fields,help:l10n_in.field_l10n_in_advances_payment_adjustment_report__company_id -#: model:ir.model.fields,help:l10n_in.field_l10n_in_advances_payment_report__company_id -#: model:ir.model.fields,help:l10n_in.field_l10n_in_payment_report__company_id -msgid "Company related to this journal" -msgstr "" - #. module: l10n_in #: model:ir.model,name:l10n_in.model_res_config_settings msgid "Config Settings" msgstr "" +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Connect to GST portal to submit GSTR-1 and get GSTR-2B" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Connect to NIC (National Informatics Center) to submit e-waybill on posting." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Connect to NIC (National Informatics Center) to submit invoices on posting." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__consider_amount +msgid "Consider" +msgstr "" + #. module: l10n_in #: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__consumer -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__l10n_in_gst_treatment__consumer #: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__consumer msgid "Consumer" msgstr "" @@ -166,119 +471,237 @@ msgstr "" msgid "Contact" msgstr "" +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Costs 1 credit per transaction. Free 200 credits will be available for the " +"first time." +msgstr "" + +#. module: l10n_in +#. odoo-javascript +#: code:addons/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js:0 +msgid "Could not contact API" +msgstr "" + #. module: l10n_in #: model:ir.model,name:l10n_in.model_res_country_state msgid "Country state" msgstr "" #. module: l10n_in +#: model:ir.actions.act_window,name:l10n_in.l10n_in_withholding_entry_form_action +msgid "Create TDS Entry" +msgstr "" + +#. module: l10n_in +#: model:ir.model,website_form_label:l10n_in.model_res_partner +msgid "Create a Customer" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__create_uid #: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__create_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__create_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__create_uid msgid "Created by" msgstr "" #. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__create_date #: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__create_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__create_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__create_date msgid "Created on" msgstr "" #. module: l10n_in -#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit -msgid "Credit Note" +#: model:iap.service,unit_name:l10n_in.iap_service_l10n_in_edi +msgid "Credits" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__currency_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__currency_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__currency_id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__currency_id msgid "Currency" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__partner_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__partner_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__partner_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__partner_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__partner_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__partner_id -msgid "Customer" +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Customer Payment" msgstr "" #. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__move_type__out_refund -msgid "Customer Credit Note" -msgstr "" - -#. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__partner_vat -msgid "Customer GSTIN" -msgstr "" - -#. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__move_type__out_invoice -msgid "Customer Invoice" -msgstr "" - -#. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__date -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__date msgid "Date" msgstr "" #. module: l10n_in #: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__deemed_export -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__l10n_in_gst_treatment__deemed_export +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_deemed_export #: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__deemed_export msgid "Deemed Export" msgstr "" #. module: l10n_in -#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit -msgid "Destination of supply:" +#: model_terms:ir.ui.view,arch_db:l10n_in.tds_entry_view_form +msgid "Discard" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__display_name -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__display_name -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__display_name -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_account__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_journal__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_move__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_report__display_name +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__display_name +#: model:ir.model.fields,field_description:l10n_in.field_iap_account__display_name +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__display_name #: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__display_name -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__display_name +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__display_name +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__display_name +#: model:ir.model.fields,field_description:l10n_in.field_product_template__display_name +#: model:ir.model.fields,field_description:l10n_in.field_res_company__display_name +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__display_name +#: model:ir.model.fields,field_description:l10n_in.field_res_country_state__display_name +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__display_name +#: model:ir.model.fields,field_description:l10n_in.field_uom_uom__display_name msgid "Display Name" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__refund_invoice_type -msgid "Document Type" +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_display_higher_tcs_button +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_display_higher_tcs_button +msgid "Display higher TCS button" msgstr "" #. module: l10n_in -#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit -msgid "Draft" +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__display_pan_warning +#: model:ir.model.fields,field_description:l10n_in.field_res_users__display_pan_warning +msgid "Display pan warning" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__ecommerce_partner_id -msgid "E-commerce" +#: model:res.partner.industry,full_name:l10n_in.eco_under_section_52 +msgid "E-Commerce operator liable to deduct TCS under section 52" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__ecommerce_vat -msgid "E-commerce GSTIN" +#: model:res.partner.industry,full_name:l10n_in.eco_under_section_9_5 +msgid "E-Commerce operator liable to pay tax under section 9(5)" msgstr "" #. module: l10n_in -#: model:account.tax.group,name:l10n_in.exempt_group +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "E-Invoicing" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "E-Way bill" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_eco_9_5 +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_eco_9_5 +msgid "ECO 9(5)" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_eco_tcs_52 +msgid "ECO TCS 52" +msgstr "" + +#. module: l10n_in +#: model:res.partner.industry,name:l10n_in.eco_under_section_52 +msgid "ECO liable to deduct TCS u/s 52" +msgstr "" + +#. module: l10n_in +#: model:res.partner.industry,name:l10n_in.eco_under_section_9_5 +msgid "ECO liable to pay GST u/s 9(5)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_enet_vendor_batch_payment_feature +msgid "ENet Vendor Batch Payment" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_account_tax +msgid "ETA tax codes mixin" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_exp_wop +msgid "EXP(WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_exp_wp +msgid "EXP(WP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_company__l10n_in_edi_production_env +#: model:ir.model.fields,help:l10n_in.field_res_config_settings__l10n_in_edi_production_env +msgid "Enable the use of production credentials" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Enable this if you have GST number except composition scheme." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Enable this to activate the Tax Collected at Source (TCS) feature and the " +"account-based TCS section suggestion." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Enable this to activate the Tax Deducted at Source (TDS) feature and the " +"account-based TDS section suggestion." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Enable this to check the GST Number status" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Ensure that the HSN/SAC Code consists either %s in invoice lines" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.tds_entry_view_form +msgid "Entry Date" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_exempt +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_exempt +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__exempt msgid "Exempt" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__exempted_amount -msgid "Exempted" +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Export" msgstr "" #. module: l10n_in -#: model:ir.model,name:l10n_in.model_l10n_in_exempted_report -msgid "Exempted Gst Supplied Statistics" +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Export - LUT (WOP)" msgstr "" #. module: l10n_in @@ -287,40 +710,79 @@ msgid "Export India" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__export_type -msgid "Export Type" +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_fetch_vendor_edi_feature +msgid "Fetch Vendor E-Invoiced Document" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__gst_format_date -msgid "Formated Date" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__aggregate_period__fiscal_yearly +msgid "Financial Yearly" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__gst_format_refund_date -msgid "Formated Refund Date" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__f +msgid "Firms" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__gst_format_shipping_bill_date -msgid "Formated Shipping Bill Date" +#. odoo-python +#: code:addons/l10n_in/models/company.py:0 +msgid "First enable GST e-Filing feature from configuration for company %s." msgstr "" #. module: l10n_in -#: model:ir.model.fields,help:l10n_in.field_l10n_in_account_invoice_report__reversed_entry_id -msgid "From where this Refund is created" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_follower_ids +msgid "Followers" msgstr "" #. module: l10n_in -#: model:account.tax.group,name:l10n_in.gst_group +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_gsp +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "GSP" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__gst msgid "GST" msgstr "" +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__module_l10n_in_reports +msgid "GST E-Filing & Matching" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_gst_efiling_feature +msgid "GST E-Filing & Matching Feature" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_gstin +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "GST Number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_partner_gstin_status +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_partner_gstin_status +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gstin_verified_status +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gstin_verified_status +msgid "GST Status" +msgstr "" + #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_gst_treatment #: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_gst_treatment -#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_gst_treatment -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__l10n_in_gst_treatment #: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gst_treatment #: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gst_treatment msgid "GST Treatment" @@ -329,19 +791,31 @@ msgstr "" #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_gstin #: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_gstin -#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_gstin msgid "GSTIN" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_account_journal__l10n_in_gstin_partner_id -msgid "GSTIN Unit" +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "GSTIN %(vat)s is %(status)s and Effective from %(date_from)s." msgstr "" #. module: l10n_in -#: model:ir.model.fields,help:l10n_in.field_account_journal__l10n_in_gstin_partner_id -msgid "" -"GSTIN related to this journal. If empty then consider as company GSTIN." +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "GSTIN %(vat)s is %(status)s, effective date is not available." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "GSTIN Status Updated Successfully" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gstin_verified_date +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gstin_verified_date +msgid "GSTIN Verified Date" msgstr "" #. module: l10n_in @@ -349,33 +823,68 @@ msgstr "" msgid "GSTIN:" msgstr "" +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__l10n_in_gstr_section +msgid "GSTR Section" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"Generate Vendor Payment Order file(csv file), upload to your bank to make " +"the payments" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_config_settings.py:0 +msgid "Go to Company" +msgstr "" + #. module: l10n_in #. odoo-python #: code:addons/l10n_in/models/account_invoice.py:0 -#, python-format msgid "Go to Company configuration" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__gross_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__gross_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__gross_amount -msgid "Gross advance" +#. odoo-python +#: code:addons/l10n_in/models/company.py:0 +msgid "Go to configuration" msgstr "" #. module: l10n_in -#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_search_view -msgid "Group By" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__g +msgid "Government" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__hsn_code -msgid "HSN" +#: model:ir.model.fields,field_description:l10n_in.field_product_product__l10n_in_hsn_warning +#: model:ir.model.fields,field_description:l10n_in.field_product_template__l10n_in_hsn_warning +msgid "HSC/SAC warning" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__hsn_description -msgid "HSN description" +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_hsn_code_digit +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_hsn_code_digit +msgid "HSN Code Digit" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "HSN Summary" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/product_template.py:0 +msgid "HSN code field must consist solely of digits and be %s in length." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_move_line.py:0 +msgid "HSN code is not set in product line %(name)s" msgstr "" #. module: l10n_in @@ -384,21 +893,27 @@ msgid "HSN/SAC" msgstr "" #. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__l10n_in_hsn_code #: model:ir.model.fields,field_description:l10n_in.field_product_product__l10n_in_hsn_code #: model:ir.model.fields,field_description:l10n_in.field_product_template__l10n_in_hsn_code msgid "HSN/SAC Code" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_product_product__l10n_in_hsn_description -#: model:ir.model.fields,field_description:l10n_in.field_product_template__l10n_in_hsn_description -msgid "HSN/SAC Description" +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"HSN/SAC Digit Validation for GST Compliance based on your Aggregate Annual " +"Turnover (AATO)." msgstr "" #. module: l10n_in -#: model:ir.model.fields,help:l10n_in.field_product_product__l10n_in_hsn_description -#: model:ir.model.fields,help:l10n_in.field_product_template__l10n_in_hsn_description -msgid "HSN/SAC description is required if HSN/SAC code is not provided." +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "HSN/SAC Validation" +msgstr "" + +#. module: l10n_in +#: model:account.cash.rounding,name:l10n_in.cash_rounding_in_half_up +msgid "Half Up" msgstr "" #. module: l10n_in @@ -408,30 +923,94 @@ msgid "Harmonized System Nomenclature/Services Accounting Code" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__has_message +msgid "Has Message" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__tds_deduction__higher +msgid "Higher" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_withhold_wizard__tds_deduction__higher +msgid "Higher Deduction" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__h +msgid "Hindu Undivided Family" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_iap_account +msgid "IAP Account" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__id +#: model:ir.model.fields,field_description:l10n_in.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_in.field_account_journal__id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__id +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__id +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__id +#: model:ir.model.fields,field_description:l10n_in.field_account_report__id +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__id +#: model:ir.model.fields,field_description:l10n_in.field_iap_account__id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__id #: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__id +#: model:ir.model.fields,field_description:l10n_in.field_product_template__id +#: model:ir.model.fields,field_description:l10n_in.field_res_company__id +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__id +#: model:ir.model.fields,field_description:l10n_in.field_res_country_state__id +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__id +#: model:ir.model.fields,field_description:l10n_in.field_uom_uom__id msgid "ID" msgstr "" #. module: l10n_in -#: model:account.tax.group,name:l10n_in.igst_group +#: model:account.account.tag,name:l10n_in.igst_tag_account +#: model:account.account.tag,name:l10n_in.tax_tag_igst +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit msgid "IGST" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__igst_amount -msgid "IGST Amount" +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_imp_goods +msgid "IMP(goods)" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__igst_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__igst_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__igst_amount -msgid "IGST amount" +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_imp_services +msgid "IMP(service)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_config_settings__l10n_in_gstin +msgid "Identification Number for selected type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_has_error +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_has_sms_error +msgid "If checked, some messages have a delivery error." msgstr "" #. module: l10n_in @@ -444,6 +1023,11 @@ msgstr "" msgid "India" msgstr "" +#. module: l10n_in +#: model:res.country.group,name:l10n_in.inter_state_group +msgid "India Inter-State Group" +msgstr "" + #. module: l10n_in #: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_form_view #: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_search_view @@ -451,14 +1035,75 @@ msgstr "" msgid "India Port Code" msgstr "" +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "India TDS Control:" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__module_l10n_in_edi +msgid "Indian Electronic Invoicing" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__module_l10n_in_ewaybill +msgid "Indian Electronic Waybill" +msgstr "" + #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_uom_uom__l10n_in_code msgid "Indian GST UQC" msgstr "" #. module: l10n_in -#: model:ir.model,name:l10n_in.model_l10n_in_payment_report -msgid "Indian accounting payment report" +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Indian Integration" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_l10n_in_pan_entity +msgid "Indian PAN Entity" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_withhold_move_ids +msgid "Indian Payment TDS Entries" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_edi_production_env +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_edi_production_env +msgid "Indian Production Environment" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_withhold_move_ids +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_withhold_move_ids +msgid "Indian TDS Entries" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_withholding_line_ids +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_withholding_line_ids +msgid "Indian TDS Lines" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_withholding_ref_move_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_withholding_ref_move_id +msgid "Indian TDS Ref Move" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_withholding_ref_payment_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_withholding_ref_payment_id +msgid "Indian TDS Ref Payment" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_tax_type +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__l10n_in_tds_tax_type +msgid "Indian Tax Type" msgstr "" #. module: l10n_in @@ -467,49 +1112,73 @@ msgid "Indian port code" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__igst_amount -msgid "Integrated Tax Amount" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__p +msgid "Individual" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__name -msgid "Invoice Number" +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Inter State" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__total -msgid "Invoice Total" +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Intra State" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__in_supply_type -msgid "Inward Supply Type" +#. odoo-python +#: code:addons/l10n_in/models/account_move_line.py:0 +msgid "Invalid HSN Code (%(hsn_code)s) in product line %(product_line)s" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__is_ecommerce -msgid "Is E-commerce" +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Invalid HSN/SAC Code digit" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__is_pre_gst -msgid "Is Pre GST" +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Invalid sequence as per GST rule 46(b)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__related_move_id +msgid "Invoice/Bill" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_is_withholding +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_is_withholding +msgid "Is Indian TDS Entry" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_section_alert.py:0 +msgid "" +"It's advisable to %(action)s %(section_type)s u/s %(warning)s on this " +"transaction." msgstr "" #. module: l10n_in #: model:ir.model,name:l10n_in.model_account_journal -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__journal_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__journal_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__journal_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__journal_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__journal_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__journal_id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__journal_id +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in msgid "Journal" msgstr "" #. module: l10n_in #: model:ir.model,name:l10n_in.model_account_move -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__move_type__entry msgid "Journal Entry" msgstr "" @@ -519,30 +1188,130 @@ msgid "Journal Item" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report____last_update -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report____last_update -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report____last_update -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report____last_update -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code____last_update -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report____last_update -msgid "Last Modified on" +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Journal Item(s)" msgstr "" #. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_journal_type +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_journal_type +msgid "Journal Type" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.view_move_line_list_l10n_in_withholding +msgid "Journal items" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__k +msgid "Krish (Trust Krish)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_gst_state_warning +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gst_state_warning +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gst_state_warning +msgid "L10N In Gst State Warning" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_gst_tax_type +msgid "L10N In Gst Tax Type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_gstin_status_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_gstin_status_feature_enabled +msgid "L10N In Gstin Status Feature Enabled" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_gstin_verified_date +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_gstin_verified_date +msgid "L10N In Gstin Verified Date" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_product_product__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_product_template__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_is_gst_registered_enabled +msgid "L10N In Is Gst Registered Enabled" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_show_gstin_status +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_show_gstin_status +msgid "L10N In Show Gstin Status" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__l10n_in_tcs_feature_enabled +msgid "L10N In Tcs Feature Enabled" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__l10n_in_tds_feature_enabled +msgid "L10N In Tds Feature Enabled" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_total_withholding_amount +msgid "L10N In Total Withholding Amount" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_warning +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_warning +msgid "L10N In Warning" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_is_lut +msgid "LUT" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__write_uid #: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__write_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__write_uid +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__write_uid msgid "Last Updated by" msgstr "" #. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__write_date #: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__write_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__write_date +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__write_date msgid "Last Updated on" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_state_id -#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_state_id -#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_state_id -msgid "Location of supply" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__type__l +msgid "Local Authority" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__tds_deduction__lower +msgid "Lower" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_withhold_wizard__tds_deduction__lower +msgid "Lower Deduction" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__msme_number +msgid "MSME/Udyam Registration Number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__msme_type +msgid "MSME/Udyam Registration Type" msgstr "" #. module: l10n_in @@ -553,92 +1322,310 @@ msgid "Manage Reseller(E-Commerce)" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__move_type -msgid "Move Type" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__msme_type__medium +msgid "Medium" msgstr "" #. module: l10n_in -#: model:account.tax.group,name:l10n_in.nil_rated_group +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_ids +msgid "Messages" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__msme_type__micro +msgid "Micro" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__aggregate_period__monthly +msgid "Monthly" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.tax_tag_non_itc +msgid "NON ITC" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Negative or zero values are not allowed in Base Amount for withhold" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Negative or zero values are not allowed in TDS Amount for withhold" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_calendar_event_id +msgid "Next Activity Calendar Event" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_nil_rated +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_nil_rated +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__nil_rated msgid "Nil Rated" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__nil_rated_amount -msgid "Nil rated supplies" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__tds_deduction__no +msgid "No" msgstr "" #. module: l10n_in -#: model:account.tax.group,name:l10n_in.non_gst_supplies_group -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__non_gst_supplies -msgid "Non GST Supplies" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_withhold_wizard__tds_deduction__no +msgid "No Deduction" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__non_gst +msgid "Non-GST" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_non_gst_supplies +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_non_gst_supplies +msgid "Non-GST Supplies" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__tds_deduction__normal +msgid "Normal" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_withhold_wizard__tds_deduction__normal +msgid "Normal Deduction" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "Not enough credits to check GSTIN status" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__message_has_error_counter +msgid "Number of messages with delivery error" msgstr "" #. module: l10n_in #: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_reseller_partner_id #: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_reseller_partner_id -#: model:ir.model.fields,help:l10n_in.field_account_payment__l10n_in_reseller_partner_id msgid "Only Registered Reseller" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_exempted_report__out_supply_type -msgid "Outward Supply Type" +#: model:account.account.tag,name:l10n_in.tax_tag_other_non_itc +msgid "Other NON ITC" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__purchase_out_of_scope +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_out_of_scope +msgid "Out of Scope" msgstr "" #. module: l10n_in #: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__overseas -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__l10n_in_gst_treatment__overseas #: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__overseas msgid "Overseas" msgstr "" #. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__name +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_pan_entity_id +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_pan_entity_id +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_pan_entity_id +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_res_partner_filter +msgid "PAN" +msgstr "" + +#. module: l10n_in +#: model:ir.actions.act_window,name:l10n_in.l10n_in_pan_entity_action +#: model:ir.ui.menu,name:l10n_in.menu_l10n_in_pan_entity +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_form +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_tree +msgid "PAN Entity" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_pan_type +msgid "PAN Type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_partner__l10n_in_pan_entity_id +#: model:ir.model.fields,help:l10n_in.field_res_users__l10n_in_pan_entity_id +msgid "" +"PAN enables the department to link all transactions of the person with the department.\n" +"These transactions include taxpayments, TDS/TCS credits, returns of income/wealth/gift/FBT, specified transactions, correspondence, and so on.\n" +"Thus, PAN acts as an identifier for the person with the tax department." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_company__l10n_in_pan_entity_id +msgid "" +"PAN enables the department to link all transactions of the person with the department.\n" +"These transactions include taxpayments, TDS/TCS credits, returns of income/wealth/gift/FBT,specified transactions, correspondence, and so on.\n" +"Thus, PAN acts as an identifier for the person with the tax department." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_form +msgid "" +"PAN number is not same as the 3rd to 12th characters of the GST number." +msgstr "" + +#. module: l10n_in +#. odoo-python #: code:addons/l10n_in/models/account_invoice.py:0 -#, python-format msgid "" "Partner %(partner_name)s (%(partner_id)s) GSTIN is required under GST " "Treatment %(name)s" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__payment_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__payment_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__payment_id +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__partner_ids +msgid "Partners" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__related_payment_id msgid "Payment" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__payment_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__payment_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__payment_amount -msgid "Payment Amount" +#: model:ir.model,name:l10n_in.model_account_payment +msgid "Payments" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__date -msgid "Payment Date" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__is_per_transaction_limit +msgid "Per Transaction" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__payment_type -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__payment_type -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__payment_type -msgid "Payment Type" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__per_transaction_limit +msgid "Per Transaction limit" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__place_of_supply -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__place_of_supply -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__place_of_supply -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__place_of_supply -msgid "Place of Supply" +#: model:ir.model.constraint,message:l10n_in.constraint_l10n_in_section_alert_per_transaction_limit +msgid "Per transaction limit must be positive" msgstr "" #. module: l10n_in -#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_form +msgid "Permanent Account Number" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_state_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_state_id +msgid "Place of supply" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.place_of_supply msgid "Place of supply:" msgstr "" +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Please buy more credits and retry: " +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Please configure the withholding account from the settings" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "" +"Please deduct TDS at higher rate if PAN is missing. Ignore if already " +"applied." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_config_settings.py:0 +msgid "" +"Please ensure that at least one Indian service and production environment is" +" enabled, and save the configuration to proceed with purchasing credits." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "Please enter the GSTIN" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Please set a partner on the %s before creating a withhold." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_config_settings.py:0 +msgid "Please set a valid GST number on company." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "Please set a valid TIN Number on the Place of Supply %s" +msgstr "" + #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__name #: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_search_view @@ -653,33 +1640,12 @@ msgstr "" #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_shipping_port_code_id #: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_shipping_port_code_id -#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_shipping_port_code_id msgid "Port code" msgstr "" -#. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__state__posted -msgid "Posted" -msgstr "" - -#. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__product_id -msgid "Product" -msgstr "" - -#. module: l10n_in -#: model:ir.model,name:l10n_in.model_l10n_in_product_hsn_report -msgid "Product HSN Statistics" -msgstr "" - -#. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__quantity -msgid "Product Qty" -msgstr "" - #. module: l10n_in #: model:ir.model,name:l10n_in.model_product_template -msgid "Product Template" +msgid "Product" msgstr "" #. module: l10n_in @@ -688,143 +1654,487 @@ msgid "Product Unit of Measure" msgstr "" #. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__move_type__in_receipt -msgid "Purchase Receipt" +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Production Environment" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__tax_rate -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__tax_rate -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__tax_rate -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__tax_rate -msgid "Rate" +#: model_terms:ir.ui.view,arch_db:l10n_in.view_move_line_tree_hsn_l10n_in +msgid "Products" msgstr "" #. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_advances_payment_adjustment_report__payment_type__inbound -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_advances_payment_report__payment_type__inbound -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_payment_report__payment_type__inbound -msgid "Receive Money" +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "Proforma" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__date -msgid "Reconcile Date" +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "Quantity" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__reconcile_amount -msgid "Reconcile amount in Payment month" +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "Rate %" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__reversed_entry_id -msgid "Refund Invoice" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__rating_ids +msgid "Ratings" msgstr "" #. module: l10n_in -#: model:res.partner.category,name:l10n_in.res_partner_category_registered -msgid "Registered" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__reference +msgid "Reference" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_withholding_ref_payment_id +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_withholding_ref_payment_id +msgid "Reference Payment for withholding entry" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_withholding_ref_move_id +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_withholding_ref_move_id +msgid "Reference move for withholding entry" msgstr "" #. module: l10n_in #: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__composition -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__l10n_in_gst_treatment__composition #: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__composition msgid "Registered Business - Composition" msgstr "" #. module: l10n_in #: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__regular -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__l10n_in_gst_treatment__regular #: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__regular msgid "Registered Business - Regular" msgstr "" +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_is_gst_registered_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_is_gst_registered +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_is_gst_registered +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Registered Under GST" +msgstr "" + #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_reseller_partner_id #: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_reseller_partner_id -#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_reseller_partner_id -#: model:res.partner.category,name:l10n_in.res_partner_category_reseller msgid "Reseller" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__is_reverse_charge -msgid "Reverse Charge" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_base_vat_form +msgid "Reverify GSTIN status" msgstr "" #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_reverse_charge -#: model:ir.model.fields,field_description:l10n_in.field_account_tax_template__l10n_in_reverse_charge msgid "Reverse charge" msgstr "" #. module: l10n_in -#: model:account.tax.group,name:l10n_in.sgst_group +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "SEZ - LUT (WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_sez_wop +msgid "SEZ(WOP)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move_line__l10n_in_gstr_section__sale_sez_wp +msgid "SEZ(WP)" +msgstr "" + +#. module: l10n_in +#: model:account.account.tag,name:l10n_in.sgst_tag_account +#: model:account.account.tag,name:l10n_in.tax_tag_sgst msgid "SGST" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__sgst_amount -msgid "SGST Amount" +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "SGST/UTGST" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__sgst_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__sgst_amount -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__sgst_amount -msgid "SGST amount" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__message_has_sms_error +msgid "SMS Delivery error" msgstr "" #. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__move_type__out_receipt -msgid "Sales Receipt" +#: model:account.account.tag,name:l10n_in.tax_tag_state_cess +msgid "STATE CESS" msgstr "" #. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_advances_payment_adjustment_report__payment_type__outbound -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_advances_payment_report__payment_type__outbound -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_payment_report__payment_type__outbound -msgid "Send Money" +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "" +"SUPPLY MEANT FOR EXPORT/SUPPLY TO SEZ UNIT OR SEZ DEVELOPER FOR AUTHORISED " +"OPERATIONS ON PAYMENT OF INTEGRATED TAX." msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__shipping_bill_date -msgid "Shipping Bill Date" +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "" +"SUPPLY MEANT FOR EXPORT/SUPPLY TO SEZ UNIT OR SEZ DEVELOPER FOR AUTHORISED " +"OPERATIONS UNDER BOND OR LETTER OF UNDERTAKING WITHOUT PAYMENT OF INTEGRATED" +" TAX." msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__shipping_bill_number -msgid "Shipping Bill Number" +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Save this page and come back here to set up the feature." +msgstr "" + +#. module: l10n_in +#. odoo-javascript +#: code:addons/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js:0 +msgid "Searching..." +msgstr "" + +#. module: l10n_in +#: model:ir.actions.act_window,name:l10n_in.l10n_in_section_alert_action +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_section_id +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_section_alert_view_form +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_section_alert_view_tree +msgid "Section" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_192 +msgid "Section 192: Payment of salary" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_192a +msgid "" +"Section 192A: Payment of accumulated balance of provident fund which is " +"taxable in the hands of an employee" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_193 +msgid "Section 193: Interest on securities" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194i +msgid "Section 194-I: Rent" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194ia +msgid "" +"Section 194-IA: Payment on transfer of certain immovable property other than" +" agricultural land" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194ib +msgid "" +"Section 194-IB: Payment of rent by individual or HUF not liable to tax audit" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194ic +msgid "" +"Section 194-IC: Payment of monetary consideration under Joint Development " +"Agreements" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194o +msgid "" +"Section 194-O: Payment or credit of amount by the e-commerce operator to " +"e-commerce participant" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194 +msgid "Section 194: Income by way of dividend" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194a +msgid "" +"Section 194A: Income by way of interest other than \"Interest on " +"securities\"" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194b +msgid "" +"Section 194B: Income by way of winnings from lotteries, crossword puzzles, " +"card games and other games of any sort" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194bb +msgid "Section 194BB: Income by way of winnings from horse races" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194c +msgid "Section 194C: Payment to contractor/sub-contractor" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194d +msgid "Section 194D: Insurance commission" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194da +msgid "Section 194DA: Payment in respect of life insurance policy" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194e +msgid "Section 194E: Payment to non-resident sportsmen/sports association" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194ee +msgid "" +"Section 194EE: Payment in respect of deposit under National Savings scheme" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194f +msgid "" +"Section 194F: Payment on account of repurchase of unit by Mutual Fund or " +"Unit Trust of India" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194g +msgid "Section 194G: Commission, etc., on sale of lottery tickets" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194h +msgid "Section 194H: Commission or brokerage" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194j +msgid "Section 194J: Fees for professional or technical services" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194k +msgid "Section 194K: Income in respect of units payable to resident person" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194la +msgid "" +"Section 194LA: Payment of compensation on acquisition of certain immovable " +"property" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194lb +msgid "Section 194LB: Payment of interest on infrastructure debt fund" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194lba +msgid "" +"Section 194LBA(1): Business trust shall deduct tax while distributing, any " +"interest received or receivable by it from a SPV or any income received from" +" renting or leasing or letting out any real estate asset owned directly by " +"it, to its unit holders." +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194lbb +msgid "" +"Section 194LBB: Investment fund paying an income to a unit holder [other " +"than income which is exempt under Section 10(23FBB)]" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194lbc +msgid "" +"Section 194LBC: Income in respect of investment made in a securitisation " +"trust (specified in Explanation of section115TCA)" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194m +msgid "" +"Section 194M: Payment of commission (not being insurance commission), " +"brokerage, contractual fee, professional fee to a resident person by an " +"Individual or a HUF who are not liable to deduct TDS under section 194C, " +"194H, or 194J." +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194n +msgid "" +"Section 194N: Cash withdrawal during the previous year from one or more " +"account maintained by a person with a banking company, co-operative society " +"engaged in business of banking or a post office" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_194q +msgid "Section 194Q: Purchase of goods" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tds_report_line_section_195 +msgid "Section 195: Payment of any other sum to a Non -resident" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_alfhc +msgid "Section 206C(1): Alcoholic Liquor for human consumption" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_aofpnbtotl +msgid "" +"Section 206C(1): Any other forest produce not being timber or tendu leaves" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_mbcoloio +msgid "Section 206C(1): Minrals, being coal or lignite or iron ore" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_s +msgid "Section 206C(1): Scrap" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_tl +msgid "Section 206C(1): Tendu leaves" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_tobaotuafl +msgid "" +"Section 206C(1): Timber obtained by any mode other than under a forest lease" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1_touafl +msgid "Section 206C(1): Timber obtained under a forest lease" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1c_maq +msgid "Section 206C(1C): Mining and quarrying" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1c_pl +msgid "Section 206C(1C): Parking lot" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1c_tp +msgid "Section 206C(1C): Toll plaza" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1f_mv +msgid "Section 206C(1F): Motor Vehicle" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1g_soaotpp +msgid "Section 206C(1G): Seller of an overseas tour program package" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1g_som +msgid "" +"Section 206C(1G): Sum of money (above 7 lakhs) for remittance out of India" +msgstr "" + +#. module: l10n_in +#: model:account.report.line,name:l10n_in.tcs_report_line_section_206c_1h_sog +msgid "Section 206C(1H): Sale of Goods" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__name +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_section_alert_view_form +msgid "Section Name" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "Select BVM as GSP Tera is Deprecated" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_res_config_settings__l10n_in_gsp +msgid "" +"Select the GST Suvidha Provider (GSP) you want to use for GST services." +msgstr "" + +#. module: l10n_in +#: model:iap.service,description:l10n_in.iap_service_l10n_in_edi +msgid "Send electronic document to Indian government" msgstr "" #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_shipping_bill_date #: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_shipping_bill_date -#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_shipping_bill_date msgid "Shipping bill date" msgstr "" #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_shipping_bill_number #: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_shipping_bill_number -#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_shipping_bill_number msgid "Shipping bill number" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__shipping_port_code_id -msgid "Shipping port code" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_pan_entity__msme_type__small +msgid "Small" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "" +"Something went wrong while fetching the GST status.Please Contact Support if" +" the error persists withResponse: %(response)s" msgstr "" #. module: l10n_in #: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__special_economic_zone -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__l10n_in_gst_treatment__special_economic_zone #: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__special_economic_zone msgid "Special Economic Zone" msgstr "" +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Special Economic Zone (SEZ)" +msgstr "" + #. module: l10n_in #: model:ir.model.fields,field_description:l10n_in.field_l10n_in_port_code__state_id #: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_port_code_search_view @@ -832,29 +2142,166 @@ msgid "State" msgstr "" #. module: l10n_in -#: code:addons/l10n_in/models/account_invoice.py:0 -#, python-format +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__activity_state msgid "" -"State is missing from address in '%s'. First set state after post this " -"invoice again." +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__sgst_amount -msgid "State/UT Tax Amount" +#: model_terms:ir.ui.view,arch_db:l10n_in.view_move_line_list_l10n_in_withholding +msgid "Suggested Section" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__state -msgid "Status" +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_tan +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_tan +#: model:ir.model.fields,field_description:l10n_in.field_res_partner__l10n_in_tan +#: model:ir.model.fields,field_description:l10n_in.field_res_users__l10n_in_tan +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "TAN" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__supply_type -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__supply_type -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__supply_type -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__supply_type -msgid "Supply Type" +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_tcs_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_tcs_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_tcs_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_tcs_feature +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_tcs_feature +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__tcs +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__tax_source_type__tcs +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "TCS" +msgstr "" + +#. module: l10n_in +#: model:account.report,name:l10n_in.tcs_report +msgid "TCS Report" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_account__l10n_in_tds_tcs_section_id +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__l10n_in_tds_tcs_section_id +msgid "TCS/TDS Section" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_tds_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_tds_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_payment__l10n_in_tds_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_account_tax__l10n_in_tds_feature_enabled +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_tds_feature +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_tds_feature +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__tax_source_type__tds +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "TDS" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_withholding_account_id +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_withholding_account_id +msgid "TDS Account" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__amount +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "TDS Amount" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__tds_certificate +msgid "TDS Certificate" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_pan_entity.py:0 +msgid "TDS Certificate Added" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__tds_certificate_filename +msgid "TDS Certificate Filename" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_tds_deduction +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_tds_deduction +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__tds_deduction +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__tds_deduction +msgid "TDS Deduction" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.view_account_payment_form_inherit_l10n_in_withholding +msgid "TDS Entry" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "TDS Information" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_withholding_journal_id +#: model:ir.model.fields,field_description:l10n_in.field_res_config_settings__l10n_in_withholding_journal_id +msgid "TDS Journal" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__tds_purchase +msgid "TDS Purchase" +msgstr "" + +#. module: l10n_in +#: model:account.report,name:l10n_in.tds_report +msgid "TDS Report" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_tax_type__tds_sale +msgid "TDS Sale" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__tax_id +#: model_terms:ir.ui.view,arch_db:l10n_in.tds_entry_view_form +msgid "TDS Section" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_account_move_line__l10n_in_withhold_tax_amount +msgid "TDS Tax Amount" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "TDS created from" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "" +"TDS must be created from Posted Customer Invoices, Customer Credit Notes, " +"Vendor Bills or Vendor Refunds." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "TDS must be created from an Invoice or a Payment." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "TDS of %s" msgstr "" #. module: l10n_in @@ -868,22 +2315,39 @@ msgid "TIN number-first two digits" msgstr "" #. module: l10n_in -#: model:ir.model,name:l10n_in.model_account_tax -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__tax_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_adjustment_report__l10n_in_tax_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_advances_payment_report__l10n_in_tax_id -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_payment_report__l10n_in_tax_id +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in msgid "Tax" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__price_total +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__tax_report_line_id +msgid "Tax Report Line" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__tax_source_type +msgid "Tax Source Type" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit msgid "Taxable Value" msgstr "" #. module: l10n_in -#: model:ir.model,name:l10n_in.model_account_tax_template -msgid "Templates for Taxes" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_section_alert__l10n_in_section_tax_ids +msgid "Taxes" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_is_withholding +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_is_withholding +msgid "Technical field to identify Indian withholding entry" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__res_config_settings__l10n_in_gsp__tera +msgid "Tera Software (Deprecated)" msgstr "" #. module: l10n_in @@ -891,42 +2355,123 @@ msgstr "" msgid "The Port Code must be unique!" msgstr "" +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "The base amount of TDS is greater than the amount of the %s" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"The current GSP is scheduled for deprecation soon.\n" +" We strongly recommend switching to BVM GSP at the earliest to ensure uninterrupted service." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_pan_entity.py:0 +msgid "The entered PAN %s seems invalid. Please enter a valid PAN." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "" +"The invoice number should not exceed 16 characters\n" +"and must only contain '-' (hyphen) and '/' (slash) as special characters" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "The provided GSTIN is invalid. Please check the GSTIN and try again." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "" +"This feature helps you to quickly create draft vendor bills using the data " +"your vendor submitted during E-invoicing on the GST portal." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "" +"This feature is not activated. Go to Settings to activate this feature." +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_section_alert_view_form +msgid "Threshold limits" +msgstr "" + #. module: l10n_in #: model:ir.model.fields,help:l10n_in.field_account_tax__l10n_in_reverse_charge -#: model:ir.model.fields,help:l10n_in.field_account_tax_template__l10n_in_reverse_charge msgid "Tick this if this tax is reverse charge. Only for Indian accounting" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__amount_total_words -#: model:ir.model.fields,field_description:l10n_in.field_account_move__amount_total_words -#: model:ir.model.fields,field_description:l10n_in.field_account_payment__amount_total_words -msgid "Total (In Words)" +#: model:ir.model.fields,help:l10n_in.field_account_tax__l10n_in_is_lut +msgid "" +"Tick this if this tax is used in LUT (Letter of Undertaking) transactions. " +"Only for Indian accounting." msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__total -msgid "Total Value" +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Total" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__price_total -msgid "Total Without Tax" +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__consider_amount__total_amount +msgid "Total Amount" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__uom_id -msgid "UOM" +#: model:ir.model.fields,field_description:l10n_in.field_account_bank_statement_line__l10n_in_total_withholding_amount +#: model:ir.model.fields,field_description:l10n_in.field_account_move__l10n_in_total_withholding_amount +msgid "Total Indian TDS Amount" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_product_hsn_report__l10n_in_uom_code -msgid "UQC" +#: model:ir.model.fields,help:l10n_in.field_account_bank_statement_line__l10n_in_total_withholding_amount +#: model:ir.model.fields,help:l10n_in.field_account_move__l10n_in_total_withholding_amount +msgid "Total withholding amount for the move" msgstr "" #. module: l10n_in -#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_account_invoice_report__refund_export_type -msgid "UR Type" +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__type +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__type_name +msgid "Type" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__uin_holders +#: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__uin_holders +msgid "UIN Holders" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit +msgid "UPI ID:" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_res_company__l10n_in_upi_id +msgid "UPI Id" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "Unable to connect with GST network" msgstr "" #. module: l10n_in @@ -935,43 +2480,168 @@ msgid "Unique Quantity Code (UQC) under GST" msgstr "" #. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__state__draft -msgid "Unposted" -msgstr "" - -#. module: l10n_in -#: model:res.partner.category,name:l10n_in.res_partner_category_unregistered -msgid "Unregistered" +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "Unknown" msgstr "" #. module: l10n_in #: model:ir.model.fields.selection,name:l10n_in.selection__account_move__l10n_in_gst_treatment__unregistered -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__l10n_in_gst_treatment__unregistered #: model:ir.model.fields.selection,name:l10n_in.selection__res_partner__l10n_in_gst_treatment__unregistered msgid "Unregistered Business" msgstr "" +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_section_alert__consider_amount__untaxed_amount +msgid "Untaxed Amount" +msgstr "" + #. module: l10n_in #: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in msgid "Use this if setup with Reseller(E-Commerce)." msgstr "" #. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__move_type__in_invoice -#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit -msgid "Vendor Bill" +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "Vendor Payment" msgstr "" #. module: l10n_in -#: model:ir.model.fields.selection,name:l10n_in.selection__l10n_in_account_invoice_report__move_type__in_refund -#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_report_invoice_document_inherit -msgid "Vendor Credit Note" +#: model_terms:ir.ui.view,arch_db:l10n_in.invoice_form_inherit_l10n_in +msgid "Verify GSTIN status" msgstr "" #. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "View Journal Item(s)" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_pan_entity__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,help:l10n_in.field_l10n_in_pan_entity__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_l10n_in_withhold_wizard +msgid "Withhold Wizard" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields,field_description:l10n_in.field_l10n_in_withhold_wizard__l10n_in_withholding_warning +msgid "Withholding warning" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/template_in.py:0 +msgid "Within %s" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/wizard/l10n_in_withhold_wizard.py:0 +msgid "You can only create a withhold for only one record at a time." +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/account_invoice.py:0 +msgid "You have insufficient credits to send this document!" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/res_partner.py:0 +msgid "You must be logged in an Indian company to use this feature" +msgstr "" + +#. module: l10n_in +#. odoo-python #: code:addons/l10n_in/models/account_invoice.py:0 -#, python-format msgid "" "Your company %s needs to have a correct address in order to validate this invoice.\n" "Set the address of your company (Don't forget the State field)" msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_gst_tax_type__cess +msgid "cess" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_gst_tax_type__cgst +msgid "cgst" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_section_alert.py:0 +msgid "collect" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/l10n_in_section_alert.py:0 +msgid "deduct" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "documentation" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_pan_entity_view_form +msgid "e.g. UDYAM-XX-00-0000000" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/product_template.py:0 +msgid "either 4, 6 or 8" +msgstr "" + +#. module: l10n_in +#. odoo-python +#: code:addons/l10n_in/models/product_template.py:0 +msgid "either 6 or 8" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.res_config_settings_view_form_inherit_l10n_in +msgid "for detailed guidance on accurate configuration." +msgstr "" + +#. module: l10n_in +#. odoo-javascript +#: code:addons/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js:0 +msgid "hsn description field" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_gst_tax_type__igst +msgid "igst" +msgstr "" + +#. module: l10n_in +#: model:ir.model,name:l10n_in.model_l10n_in_section_alert +msgid "indian section alert" +msgstr "" + +#. module: l10n_in +#: model:ir.model.fields.selection,name:l10n_in.selection__account_tax__l10n_in_gst_tax_type__sgst +msgid "sgst" +msgstr "" + +#. module: l10n_in +#: model_terms:ir.ui.view,arch_db:l10n_in.l10n_in_view_partner_form +#: model_terms:ir.ui.view,arch_db:l10n_in.view_company_form +msgid "update it" +msgstr "" diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/migrations/9.0.2.0/pre-set_tags_and_taxes_updatable.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/migrations/9.0.2.0/pre-set_tags_and_taxes_updatable.py index 955a337..24fbebc 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/migrations/9.0.2.0/pre-set_tags_and_taxes_updatable.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/migrations/9.0.2.0/pre-set_tags_and_taxes_updatable.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- -import odoo +from odoo.modules.registry import Registry def migrate(cr, version): - registry = odoo.registry(cr.dbname) + registry = Registry(cr.dbname) from odoo.addons.account.models.chart_template import migrate_set_tags_and_taxes_updatable migrate_set_tags_and_taxes_updatable(cr, registry, 'l10n_in') diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/__init__.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/__init__.py index 10504e8..6353c1e 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/__init__.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/__init__.py @@ -1,13 +1,19 @@ -# -*- coding:utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. - -from . import account +from . import template_in from . import account_invoice -from . import chart_template +from . import account_journal +from . import account_move_line +from . import account_payment +from . import account_tax +from . import company +from . import iap_account from . import product_template from . import port_code from . import res_config_settings from . import res_country_state from . import res_partner from . import uom_uom -from . import mail_message +from . import account_account +from . import l10n_in_section_alert +from . import l10n_in_pan_entity +from . import l10n_in_report_handler diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account.py deleted file mode 100644 index 17d4bcc..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account.py +++ /dev/null @@ -1,77 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, fields, models, _ -from odoo.exceptions import ValidationError -from odoo import tools - - -class AccountJournal(models.Model): - _inherit = "account.journal" - - # Use for filter import and export type. - l10n_in_gstin_partner_id = fields.Many2one('res.partner', string="GSTIN Unit", ondelete="restrict", help="GSTIN related to this journal. If empty then consider as company GSTIN.") - - def name_get(self): - """ - Add GSTIN number in name as suffix so user can easily find the right journal. - Used super to ensure nothing is missed. - """ - result = super().name_get() - result_dict = dict(result) - indian_journals = self.filtered(lambda j: j.company_id.account_fiscal_country_id.code == 'IN' and - j.l10n_in_gstin_partner_id and j.l10n_in_gstin_partner_id.vat) - for journal in indian_journals: - name = result_dict[journal.id] - name += "- %s" % (journal.l10n_in_gstin_partner_id.vat) - result_dict[journal.id] = name - return list(result_dict.items()) - - -class AccountMoveLine(models.Model): - _inherit = "account.move.line" - - def init(self): - tools.create_index(self._cr, 'account_move_line_move_product_index', self._table, ['move_id', 'product_id']) - - @api.depends('move_id.line_ids', 'move_id.line_ids.tax_line_id', 'move_id.line_ids.debit', 'move_id.line_ids.credit') - def _compute_tax_base_amount(self): - aml = self.filtered(lambda l: l.company_id.account_fiscal_country_id.code == 'IN' and l.tax_line_id and l.product_id) - for move_line in aml: - base_lines = move_line.move_id.line_ids.filtered(lambda line: move_line.tax_line_id in line.tax_ids and move_line.product_id == line.product_id) - move_line.tax_base_amount = abs(sum(base_lines.mapped('balance'))) - remaining_aml = self - aml - if remaining_aml: - return super(AccountMoveLine, remaining_aml)._compute_tax_base_amount() - - -class AccountTax(models.Model): - _inherit = 'account.tax' - - l10n_in_reverse_charge = fields.Boolean("Reverse charge", help="Tick this if this tax is reverse charge. Only for Indian accounting") - - @api.model - def _get_generation_dict_from_base_line(self, line_vals, tax_vals, force_caba_exigibility=False): - # EXTENDS account - # Group taxes also by product. - res = super()._get_generation_dict_from_base_line(line_vals, tax_vals, force_caba_exigibility=force_caba_exigibility) - record = line_vals['record'] - if isinstance(record, models.Model)\ - and record._name == 'account.move.line'\ - and record.company_id.account_fiscal_country_id.code == 'IN': - res['product_id'] = record.product_id.id - res['product_uom_id'] = record.product_uom_id.id - return res - - @api.model - def _get_generation_dict_from_tax_line(self, line_vals): - # EXTENDS account - # Group taxes also by product. - res = super()._get_generation_dict_from_tax_line(line_vals) - record = line_vals['record'] - if isinstance(record, models.Model)\ - and record._name == 'account.move.line'\ - and record.company_id.account_fiscal_country_id.code == 'IN': - res['product_id'] = record.product_id.id - res['product_uom_id'] = record.product_uom_id.id - return res diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_account.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_account.py new file mode 100644 index 0000000..d32cb0c --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_account.py @@ -0,0 +1,15 @@ +from odoo import api, fields, models + + +class AccountAccount(models.Model): + _inherit = 'account.account' + + l10n_in_tds_tcs_section_id = fields.Many2one('l10n_in.section.alert', string="TCS/TDS Section") + l10n_in_tds_feature_enabled = fields.Boolean(compute='_compute_tds_tcs_features', store=True) + l10n_in_tcs_feature_enabled = fields.Boolean(compute='_compute_tds_tcs_features', store=True) + + @api.depends('company_ids.l10n_in_tds_feature', 'company_ids.l10n_in_tcs_feature') + def _compute_tds_tcs_features(self): + for record in self: + record.l10n_in_tds_feature_enabled = any(company.l10n_in_tds_feature for company in record.company_ids) + record.l10n_in_tcs_feature_enabled = any(company.l10n_in_tcs_feature for company in record.company_ids) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_invoice.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_invoice.py index e037638..e043036 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_invoice.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_invoice.py @@ -1,19 +1,34 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - +import base64 import logging +import json +import re -from odoo import api, fields, models, _ +from contextlib import contextmanager +from markupsafe import Markup + +from odoo import Command, _, api, fields, models from odoo.exceptions import ValidationError, RedirectWarning, UserError +from odoo.tools.float_utils import json_float_round +from odoo.tools.image import image_data_uri +from odoo.tools import float_compare, SQL +from odoo.tools.date_utils import get_month +from odoo.addons.l10n_in.models.iap_account import IAP_SERVICE_NAME +EDI_CANCEL_REASON = { + # Same for both e-way bill and IRN + '1': "Duplicate", + '2': "Data Entry Mistake", + '3': "Order Cancelled", + '4': "Others", +} _logger = logging.getLogger(__name__) class AccountMove(models.Model): _inherit = "account.move" - amount_total_words = fields.Char("Total (In Words)", compute="_compute_amount_total_words") - l10n_in_gst_treatment = fields.Selection([ + l10n_in_gst_treatment = fields.Selection( + selection=[ ('regular', 'Registered Business - Regular'), ('composition', 'Registered Business - Composition'), ('unregistered', 'Unregistered Business'), @@ -22,57 +37,517 @@ class AccountMove(models.Model): ('special_economic_zone', 'Special Economic Zone'), ('deemed_export', 'Deemed Export'), ('uin_holders', 'UIN Holders'), - ], string="GST Treatment", compute="_compute_l10n_in_gst_treatment", store=True, readonly=False, copy=True) - l10n_in_state_id = fields.Many2one('res.country.state', string="Place of supply", compute="_compute_l10n_in_state_id", store=True, readonly=False) + ], + string="GST Treatment", + compute="_compute_l10n_in_gst_treatment", + store=True, + readonly=False, + copy=True, + precompute=True + ) + l10n_in_state_id = fields.Many2one( + comodel_name='res.country.state', + string="Place of supply", + compute="_compute_l10n_in_state_id", + store=True, + copy=True, + readonly=False, + precompute=True + ) l10n_in_gstin = fields.Char(string="GSTIN") # For Export invoice this data is need in GSTR report - l10n_in_shipping_bill_number = fields.Char('Shipping bill number', readonly=True, states={'draft': [('readonly', False)]}) - l10n_in_shipping_bill_date = fields.Date('Shipping bill date', readonly=True, states={'draft': [('readonly', False)]}) - l10n_in_shipping_port_code_id = fields.Many2one('l10n_in.port.code', 'Port code', readonly=True, states={'draft': [('readonly', False)]}) - l10n_in_reseller_partner_id = fields.Many2one('res.partner', 'Reseller', domain=[('vat', '!=', False)], help="Only Registered Reseller", readonly=True, states={'draft': [('readonly', False)]}) + l10n_in_shipping_bill_number = fields.Char('Shipping bill number') + l10n_in_shipping_bill_date = fields.Date('Shipping bill date') + l10n_in_shipping_port_code_id = fields.Many2one('l10n_in.port.code', 'Port code') + l10n_in_reseller_partner_id = fields.Many2one( + comodel_name='res.partner', + string="Reseller", + domain=[('vat', '!=', False)], + help="Only Registered Reseller" + ) l10n_in_journal_type = fields.Selection(string="Journal Type", related='journal_id.type') + l10n_in_warning = fields.Json(compute="_compute_l10n_in_warning") + l10n_in_is_gst_registered_enabled = fields.Boolean(related='company_id.l10n_in_is_gst_registered') + l10n_in_tds_deduction = fields.Selection(related='commercial_partner_id.l10n_in_pan_entity_id.tds_deduction', string="TDS Deduction") - @api.depends('amount_total') - def _compute_amount_total_words(self): - for invoice in self: - invoice.amount_total_words = invoice.currency_id.amount_to_text(invoice.amount_total) + # withholding related fields + l10n_in_is_withholding = fields.Boolean( + string="Is Indian TDS Entry", + copy=False, + help="Technical field to identify Indian withholding entry" + ) + l10n_in_withholding_ref_move_id = fields.Many2one( + comodel_name='account.move', + string="Indian TDS Ref Move", + readonly=True, + index='btree_not_null', + copy=False, + help="Reference move for withholding entry", + ) + l10n_in_withholding_ref_payment_id = fields.Many2one( + comodel_name='account.payment', + string="Indian TDS Ref Payment", + index='btree_not_null', + readonly=True, + copy=False, + help="Reference Payment for withholding entry", + ) + l10n_in_withhold_move_ids = fields.One2many( + 'account.move', 'l10n_in_withholding_ref_move_id', + string="Indian TDS Entries" + ) + l10n_in_withholding_line_ids = fields.One2many( + 'account.move.line', 'move_id', + string="Indian TDS Lines", + compute='_compute_l10n_in_withholding_line_ids', + ) + l10n_in_total_withholding_amount = fields.Monetary( + string="Total Indian TDS Amount", + compute='_compute_l10n_in_total_withholding_amount', + help="Total withholding amount for the move", + ) + l10n_in_display_higher_tcs_button = fields.Boolean(string="Display higher TCS button", compute="_compute_l10n_in_display_higher_tcs_button") + l10n_in_tds_feature_enabled = fields.Boolean(related='company_id.l10n_in_tds_feature') + l10n_in_tcs_feature_enabled = fields.Boolean(related='company_id.l10n_in_tcs_feature') + + # gstin_status related field + l10n_in_partner_gstin_status = fields.Boolean( + string="GST Status", + compute="_compute_l10n_in_partner_gstin_status_and_date", + ) + l10n_in_show_gstin_status = fields.Boolean(compute="_compute_l10n_in_show_gstin_status") + l10n_in_gstin_verified_date = fields.Date(compute="_compute_l10n_in_partner_gstin_status_and_date") + + # ------------------------------------------------------------------------- + # COMPUTE METHODS + # ------------------------------------------------------------------------- @api.depends('partner_id') def _compute_l10n_in_gst_treatment(self): - indian_invoice = self.filtered(lambda m: m.country_code == 'IN') - for record in indian_invoice: - gst_treatment = record.partner_id.l10n_in_gst_treatment - if not gst_treatment: - gst_treatment = 'unregistered' - if record.partner_id.country_id.code == 'IN' and record.partner_id.vat: - gst_treatment = 'regular' - elif record.partner_id.country_id and record.partner_id.country_id.code != 'IN': - gst_treatment = 'overseas' - record.l10n_in_gst_treatment = gst_treatment - (self - indian_invoice).l10n_in_gst_treatment = False + for invoice in self.filtered(lambda m: m.country_code == 'IN' and m.state == 'draft'): + partner = invoice.partner_id + invoice.l10n_in_gst_treatment = ( + partner.l10n_in_gst_treatment + or ( + 'overseas' if partner.country_id and partner.country_id.code != 'IN' + else partner.check_vat_in(partner.vat) and 'regular' or 'consumer' + ) + ) - @api.depends('partner_id', 'company_id') + @api.depends('partner_id', 'partner_shipping_id', 'company_id') def _compute_l10n_in_state_id(self): + foreign_state = self.env.ref('l10n_in.state_in_oc', raise_if_not_found=False) for move in self: - if move.country_code == 'IN' and move.journal_id.type == 'sale': - country_code = move.partner_id.country_id.code - if country_code == 'IN': - move.l10n_in_state_id = move.partner_id.state_id - elif country_code: - move.l10n_in_state_id = self.env.ref('l10n_in.state_in_oc', raise_if_not_found=False) - else: - move.l10n_in_state_id = move.company_id.state_id + if move.country_code == 'IN' and move.is_sale_document(include_receipts=True): + partner = ( + move.partner_id.commercial_partner_id == move.partner_shipping_id.commercial_partner_id + and move.partner_shipping_id + or move.partner_id + ) + if partner.country_id and partner.country_id.code != 'IN': + move.l10n_in_state_id = foreign_state + continue + partner_state = partner.state_id or move.partner_id.commercial_partner_id.state_id or move.company_id.state_id + country_code = partner_state.country_id.code or move.country_code + move.l10n_in_state_id = partner_state if country_code == 'IN' else foreign_state elif move.country_code == 'IN' and move.journal_id.type == 'purchase': move.l10n_in_state_id = move.company_id.state_id else: move.l10n_in_state_id = False + @api.depends('l10n_in_state_id', 'l10n_in_gst_treatment') + def _compute_fiscal_position_id(self): + + foreign_state = self.env['res.country.state'].search([('code', '!=', 'IN')], limit=1) + + def _get_fiscal_state(move): + """ + Maps each move to its corresponding fiscal state based on its type, + fiscal conditions, and the state of the associated partner or company. + """ + + if ( + move.country_code != 'IN' + or not move.is_invoice(include_receipts=True) + # Partner's FP takes precedence through super + or move.partner_shipping_id.property_account_position_id + or move.partner_id.property_account_position_id + ): + return False + elif move.l10n_in_gst_treatment == 'special_economic_zone': + # Special Economic Zone + return self.env.ref('l10n_in.state_in_oc') + elif move.is_sale_document(include_receipts=True): + # In Sales Documents: Compare place of supply with company state + return move.l10n_in_state_id if move.l10n_in_state_id.l10n_in_tin != '96' else foreign_state + elif move.is_purchase_document(include_receipts=True) and move.partner_id.country_id.code == 'IN': + # In Purchases Documents: Compare place of supply with vendor state + pos_state_id = move.l10n_in_state_id + if pos_state_id.l10n_in_tin == '96': + return pos_state_id + elif pos_state_id == move.partner_id.state_id: + # Intra-State: Group by state matching the company's state. + return move.company_id.state_id + elif pos_state_id != move.partner_id.state_id: + # Inter-State: Group by state that doesn't match the company's state. + return ( + pos_state_id == move.company_id.state_id + and move.partner_id.state_id + or pos_state_id + ) + return False + + FiscalPosition = self.env['account.fiscal.position'] + for state_id, moves in self.grouped(_get_fiscal_state).items(): + if state_id: + virtual_partner = self.env['res.partner'].new({ + 'state_id': state_id.id, + 'country_id': state_id.country_id.id, + }) + # Group moves by company to avoid multi-company conflicts + for company_id, company_moves in moves.grouped('company_id').items(): + company_moves.fiscal_position_id = FiscalPosition.with_company( + company_id + )._get_fiscal_position(virtual_partner) + else: + super(AccountMove, moves)._compute_fiscal_position_id() + + @api.onchange('name') + def _onchange_name_warning(self): + if ( + self.country_code == 'IN' + and self.company_id.l10n_in_is_gst_registered + and self.journal_id.type == 'sale' + and self.name + and (len(self.name) > 16 or not re.match(r'^[a-zA-Z0-9-\/]+$', self.name)) + ): + return {'warning': { + 'title' : _("Invalid sequence as per GST rule 46(b)"), + 'message': _( + "The invoice number should not exceed 16 characters\n" + "and must only contain '-' (hyphen) and '/' (slash) as special characters" + ) + }} + return super()._onchange_name_warning() + + @api.depends( + 'invoice_line_ids.l10n_in_hsn_code', + 'company_id.l10n_in_hsn_code_digit', + 'invoice_line_ids.tax_ids', + 'commercial_partner_id.l10n_in_pan_entity_id', + 'invoice_line_ids.price_total' + ) + def _compute_l10n_in_warning(self): + indian_invoice = self.filtered(lambda m: m.country_code == 'IN' and m.move_type != 'entry') + line_filter_func = lambda line: line.display_type == 'product' and line.tax_ids and line._origin + _xmlid_to_res_id = self.env['ir.model.data']._xmlid_to_res_id + for move in indian_invoice: + warnings = {} + company = move.company_id + action_name = _("Journal Item(s)") + action_text = _("View Journal Item(s)") + if company.l10n_in_tcs_feature or company.l10n_in_tds_feature: + invalid_tax_lines = move._get_l10n_in_invalid_tax_lines() + if company.l10n_in_tcs_feature and invalid_tax_lines: + warnings['lower_tcs_tax'] = { + 'message': _("As the Partner's PAN missing/invalid apply TCS at the higher rate."), + 'actions': invalid_tax_lines.with_context(tax_validation=True)._get_records_action( + name=action_name, + views=[(_xmlid_to_res_id("l10n_in.view_move_line_tree_hsn_l10n_in"), "list")], + domain=[('id', 'in', invalid_tax_lines.ids)], + ), + 'action_text': action_text, + } + + if applicable_sections := move._get_l10n_in_tds_tcs_applicable_sections(): + tds_tcs_applicable_lines = ( + move.move_type == 'out_invoice' + and move._get_tcs_applicable_lines(move.invoice_line_ids) + or move.invoice_line_ids + ) + warnings['tds_tcs_threshold_alert'] = { + 'message': applicable_sections._get_warning_message(), + 'action': tds_tcs_applicable_lines.with_context( + default_tax_type_use=True, + move_type=move.move_type == 'in_invoice' + )._get_records_action( + name=action_name, + domain=[('id', 'in', tds_tcs_applicable_lines.ids)], + views=[(_xmlid_to_res_id("l10n_in.view_move_line_list_l10n_in_withholding"), "list")] + ), + 'action_text': action_text, + } + + if ( + company.l10n_in_is_gst_registered + and company.l10n_in_hsn_code_digit + and (filtered_lines := move.invoice_line_ids.filtered(line_filter_func)) + ): + lines = self.env['account.move.line'] + for line in filtered_lines: + hsn_code = line.l10n_in_hsn_code + if ( + not hsn_code + or ( + not re.match(r'^\d{4}$|^\d{6}$|^\d{8}$', hsn_code) + or len(hsn_code) < int(company.l10n_in_hsn_code_digit) + ) + ): + lines |= line._origin + + if lines: + digit_suffixes = { + '4': _("4 digits, 6 digits or 8 digits"), + '6': _("6 digits or 8 digits"), + '8': _("8 digits") + } + msg = _( + "Ensure that the HSN/SAC Code consists either %s in invoice lines", + digit_suffixes.get(company.l10n_in_hsn_code_digit, _("Invalid HSN/SAC Code digit")) + ) + warnings['invalid_hsn_code_length'] = { + 'message': msg, + 'action': lines._get_records_action( + name=action_name, + views=[(_xmlid_to_res_id("l10n_in.view_move_line_tree_hsn_l10n_in"), "list")], + domain=[('id', 'in', lines.ids)] + ), + 'action_text': action_text, + } + + move.l10n_in_warning = warnings + (self - indian_invoice).l10n_in_warning = {} + + @api.depends('partner_id', 'state', 'payment_state', 'l10n_in_gst_treatment') + def _compute_l10n_in_show_gstin_status(self): + indian_moves = self.filtered( + lambda m: m.country_code == 'IN' and m.company_id.l10n_in_gstin_status_feature + ) + (self - indian_moves).l10n_in_show_gstin_status = False + for move in indian_moves: + move.l10n_in_show_gstin_status = ( + move.partner_id + and move.state == 'posted' + and move.move_type != 'entry' + and move.payment_state not in ['paid', 'reversed'] + and move.l10n_in_gst_treatment in [ + 'regular', + 'composition', + 'special_economic_zone', + 'deemed_export', + 'uin_holders' + ] + ) + + @api.depends('partner_id') + def _compute_l10n_in_partner_gstin_status_and_date(self): + for move in self: + if ( + move.country_code == 'IN' + and move.company_id.l10n_in_gstin_status_feature + and move.payment_state not in ['paid', 'reversed'] + and move.state != 'cancel' + ): + move.l10n_in_partner_gstin_status = move.partner_id.l10n_in_gstin_verified_status + move.l10n_in_gstin_verified_date = move.partner_id.l10n_in_gstin_verified_date + else: + move.l10n_in_partner_gstin_status = False + move.l10n_in_gstin_verified_date = False + + @api.depends('line_ids', 'l10n_in_is_withholding') + def _compute_l10n_in_withholding_line_ids(self): + # Compute the withholding lines for the move + for move in self: + if move.l10n_in_is_withholding: + move.l10n_in_withholding_line_ids = move.line_ids.filtered('tax_ids') + else: + move.l10n_in_withholding_line_ids = False + + def _compute_l10n_in_total_withholding_amount(self): + for move in self: + if self.env.company.l10n_in_tds_feature: + move.l10n_in_total_withholding_amount = sum( + move.l10n_in_withhold_move_ids.filtered( + lambda m: m.state == 'posted' + ).l10n_in_withholding_line_ids.mapped('l10n_in_withhold_tax_amount') + ) + else: + move.l10n_in_total_withholding_amount = 0.0 + + @api.depends('l10n_in_warning') + def _compute_l10n_in_display_higher_tcs_button(self): + for move in self: + if move.company_id.l10n_in_tcs_feature: + move.l10n_in_display_higher_tcs_button = ( + move.l10n_in_warning + and move.l10n_in_warning.get('lower_tcs_tax') + ) + else: + move.l10n_in_display_higher_tcs_button = False + + def action_l10n_in_withholding_entries(self): + self.ensure_one() + return { + 'name': "TDS Entries", + 'type': 'ir.actions.act_window', + 'res_model': 'account.move', + 'view_mode': 'list,form', + 'domain': [('id', 'in', self.l10n_in_withhold_move_ids.ids)], + } + + def action_l10n_in_apply_higher_tax(self): + self.ensure_one() + invalid_lines = self._get_l10n_in_invalid_tax_lines() + for line in invalid_lines: + updated_tax_ids = [] + for tax in line.tax_ids: + if tax.l10n_in_tax_type == 'tcs': + max_tax = max( + tax.l10n_in_section_id.l10n_in_section_tax_ids, + key=lambda t: t.amount + ) + updated_tax_ids.append(max_tax.id) + else: + updated_tax_ids.append(tax.id) + if set(line.tax_ids.ids) != set(updated_tax_ids): + line.write({'tax_ids': [Command.clear()] + [Command.set(updated_tax_ids)]}) + + def _get_l10n_in_invalid_tax_lines(self): + self.ensure_one() + if self.country_code == 'IN' and not self.commercial_partner_id.l10n_in_pan_entity_id: + lines = self.env['account.move.line'] + for line in self.invoice_line_ids: + for tax in line.tax_ids: + if ( + tax.l10n_in_tax_type == 'tcs' + and tax.amount != max(tax.l10n_in_section_id.l10n_in_section_tax_ids, key=lambda t: abs(t.amount)).amount + ): + lines |= line._origin + return lines + + def _get_sections_aggregate_sum_by_pan(self, section_alert, commercial_partner_id): + self.ensure_one() + month_start_date, month_end_date = get_month(self.date) + company_fiscalyear_dates = self.company_id.sudo().compute_fiscalyear_dates(self.date) + fiscalyear_start_date, fiscalyear_end_date = company_fiscalyear_dates['date_from'], company_fiscalyear_dates['date_to'] + default_domain = [ + ('account_id.l10n_in_tds_tcs_section_id', '=', section_alert.id), + ('move_id.move_type', '!=', 'entry'), + ('company_id.l10n_in_tds_feature', '!=', False), + ('company_id.l10n_in_tan', '=', self.company_id.l10n_in_tan), + ('parent_state', '=', 'posted') + ] + if commercial_partner_id.l10n_in_pan_entity_id: + default_domain += [('move_id.commercial_partner_id.l10n_in_pan_entity_id', '=', commercial_partner_id.l10n_in_pan_entity_id.id)] + else: + default_domain += [('move_id.commercial_partner_id', '=', commercial_partner_id.id)] + frequency_domains = { + 'monthly': [('date', '>=', month_start_date), ('date', '<=', month_end_date)], + 'fiscal_yearly': [('date', '>=', fiscalyear_start_date), ('date', '<=', fiscalyear_end_date)], + } + aggregate_result = {} + for frequency, frequency_domain in frequency_domains.items(): + query = self.env['account.move.line']._search(default_domain + frequency_domain, bypass_access=True, active_test=False) + result = self.env.execute_query_dict(SQL( + """ + SELECT COALESCE(sum(account_move_line.balance), 0) as balance, + COALESCE(sum(account_move_line.price_total * am.invoice_currency_rate), 0) as price_total + FROM %s + JOIN account_move AS am ON am.id = account_move_line.move_id + WHERE %s + """, + query.from_clause, + query.where_clause) + ) + aggregate_result[frequency] = result[0] + return aggregate_result + + def _l10n_in_is_warning_applicable(self, section_id): + self.ensure_one() + match section_id.tax_source_type: + case 'tcs': + return self.company_id.l10n_in_tcs_feature and self.journal_id.type == 'sale' + case 'tds': + return ( + self.company_id.l10n_in_tds_feature + and self.journal_id.type == 'purchase' + and section_id not in self.l10n_in_withhold_move_ids.filtered(lambda m: + m.state == 'posted' + ).mapped('line_ids.tax_ids.l10n_in_section_id') + ) + case _: + return False + + def _get_l10n_in_tds_tcs_applicable_sections(self): + def _group_by_section_alert(invoice_lines): + group_by_lines = {} + for line in invoice_lines: + group_key = line.account_id.sudo().l10n_in_tds_tcs_section_id + if group_key and not line.company_currency_id.is_zero(line.price_total): + group_by_lines.setdefault(group_key, []) + group_by_lines[group_key].append(line) + return group_by_lines + + def _is_section_applicable(section_alert, threshold_sums, invoice_currency_rate, lines): + lines_total = sum( + (line.price_total * invoice_currency_rate) if section_alert.consider_amount == 'total_amount' else line.balance + for line in lines + ) + if section_alert.is_aggregate_limit: + aggregate_period_key = section_alert.consider_amount == 'total_amount' and 'price_total' or 'balance' + aggregate_total = threshold_sums.get(section_alert.aggregate_period, {}).get(aggregate_period_key) + if self.state == 'draft': + aggregate_total += lines_total + if aggregate_total > section_alert.aggregate_limit: + return True + return ( + section_alert.is_per_transaction_limit + and lines_total > section_alert.per_transaction_limit + ) + + if self.country_code == 'IN' and self.move_type in ['in_invoice', 'out_invoice']: + warning = set() + commercial_partner_id = self.commercial_partner_id + if commercial_partner_id.l10n_in_pan_entity_id.tds_deduction == 'no': + invoice_lines = self.invoice_line_ids.filtered(lambda l: l.account_id.l10n_in_tds_tcs_section_id.tax_source_type != 'tds') + else: + invoice_lines = self.invoice_line_ids + existing_section = ( + self.l10n_in_withhold_move_ids.line_ids + self.line_ids + ).tax_ids.l10n_in_section_id + for section_alert, lines in _group_by_section_alert(invoice_lines).items(): + if ( + (section_alert not in existing_section + or self._get_tcs_applicable_lines(lines)) + and self._l10n_in_is_warning_applicable(section_alert) + and _is_section_applicable( + section_alert, + self._get_sections_aggregate_sum_by_pan( + section_alert, + commercial_partner_id + ), + self.invoice_currency_rate, + lines + ) + ): + warning.add(section_alert.id) + return self.env['l10n_in.section.alert'].browse(warning) + + def _get_tcs_applicable_lines(self, lines): + tcs_applicable_lines = set() + for line in lines: + if line.l10n_in_tds_tcs_section_id not in line.tax_ids.l10n_in_section_id: + tcs_applicable_lines.add(line.id) + return self.env['account.move.line'].browse(tcs_applicable_lines) + + def l10n_in_verify_partner_gstin_status(self): + self.ensure_one() + return self.with_company(self.company_id).partner_id.action_l10n_in_verify_gstin_status() + def _get_name_invoice_report(self): + self.ensure_one() if self.country_code == 'IN': - # TODO: remove the view mode check in master, only for stable releases - in_invoice_view = self.env.ref('l10n_in.l10n_in_report_invoice_document_inherit', raise_if_not_found=False) - if (in_invoice_view and in_invoice_view.sudo().mode == "primary"): - return 'l10n_in.l10n_in_report_invoice_document_inherit' + return 'l10n_in.l10n_in_report_invoice_document_inherit' return super()._get_name_invoice_report() def _post(self, soft=True): @@ -80,14 +555,12 @@ class AccountMove(models.Model): posted = super()._post(soft) gst_treatment_name_mapping = {k: v for k, v in self._fields['l10n_in_gst_treatment']._description_selection(self.env)} - for move in posted.filtered(lambda m: m.country_code == 'IN' and m.is_sale_document()): - """Check state is set in company/sub-unit""" - company_unit_partner = move.journal_id.l10n_in_gstin_partner_id or move.journal_id.company_id + for move in posted.filtered(lambda m: m.country_code == 'IN' and m.company_id.l10n_in_is_gst_registered and m.is_sale_document()): if move.l10n_in_state_id and not move.l10n_in_state_id.l10n_in_tin: raise UserError(_("Please set a valid TIN Number on the Place of Supply %s", move.l10n_in_state_id.name)) - if not company_unit_partner.state_id: + if not move.company_id.state_id: msg = _("Your company %s needs to have a correct address in order to validate this invoice.\n" - "Set the address of your company (Don't forget the State field)") % (company_unit_partner.name) + "Set the address of your company (Don't forget the State field)", move.company_id.name) action = { "view_mode": "form", "res_model": "res.company", @@ -96,9 +569,16 @@ class AccountMove(models.Model): "views": [[self.env.ref("base.view_company_form").id, "form"]], } raise RedirectWarning(msg, action, _('Go to Company configuration')) - move.l10n_in_gstin = move.partner_id.vat - if not move.l10n_in_gstin and move.l10n_in_gst_treatment in ['regular', 'composition', 'special_economic_zone', 'deemed_export']: + if ( + not move.l10n_in_gstin + and move.l10n_in_gst_treatment in [ + 'regular', + 'composition', + 'special_economic_zone', + 'deemed_export' + ] + ): raise ValidationError(_( "Partner %(partner_name)s (%(partner_id)s) GSTIN is required under GST Treatment %(name)s", partner_name=move.partner_id.name, @@ -113,30 +593,163 @@ class AccountMove(models.Model): self.ensure_one() return False - @api.ondelete(at_uninstall=False) - def _unlink_l10n_in_except_once_post(self): - # Prevent deleting entries once it's posted for Indian Company only - if any(m.country_code == 'IN' and m.posted_before for m in self) and not self._context.get('force_delete'): - raise UserError(_("To keep the audit trail, you can not delete journal entries once they have been posted.\nInstead, you can cancel the journal entry.")) - def _can_be_unlinked(self): self.ensure_one() return (self.country_code != 'IN' or not self.posted_before) and super()._can_be_unlinked() - def unlink(self): - # Add logger here becouse in api ondelete account.move.line is deleted and we can't get total amount - logger_msg = False - if any(m.country_code == 'IN' and m.posted_before for m in self): - if self._context.get('force_delete'): - moves_details = ", ".join("{entry_number} ({move_id}) amount {amount_total} {currency} and partner {partner_name}".format( - entry_number=m.name, - move_id=m.id, - amount_total=m.amount_total, - currency=m.currency_id.name, - partner_name=m.partner_id.display_name) - for m in self) - logger_msg = 'Force deleted Journal Entries %s by %s (%s)' % (moves_details, self.env.user.name, self.env.user.id) - res = super().unlink() - if logger_msg: - _logger.info(logger_msg) - return res + def _generate_qr_code(self, silent_errors=False): + self.ensure_one() + if self.company_id.country_code == 'IN' and self.company_id.l10n_in_upi_id: + payment_url = 'upi://pay?pa=%s&pn=%s&am=%s&tr=%s&tn=%s' % ( + self.company_id.l10n_in_upi_id, + self.company_id.name, + self.amount_residual, + self.payment_reference or self.name, + ("Payment for %s" % self.name)) + barcode = self.env['ir.actions.report'].barcode(barcode_type="QR", value=payment_url, width=120, height=120, quiet=False) + return image_data_uri(base64.b64encode(barcode)) + return super()._generate_qr_code(silent_errors) + + def _l10n_in_get_hsn_summary_table(self): + self.ensure_one() + base_lines, _tax_lines = self._get_rounded_base_and_tax_lines() + display_uom = self.env.user.has_group('uom.group_uom') + return self.env['account.tax']._l10n_in_get_hsn_summary_table(base_lines, display_uom) + + def _l10n_in_get_bill_from_irn(self, irn): + # TO OVERRIDE + return False + + # ------Utils------ + @api.model + def _l10n_in_prepare_tax_details(self): + def l10n_in_grouping_key_generator(base_line, tax_data): + invl = base_line['record'] + tax = tax_data['tax'] + if self.l10n_in_gst_treatment in ('overseas', 'special_economic_zone') and all( + self.env.ref("l10n_in.tax_tag_igst") in rl.tag_ids + for rl in tax.invoice_repartition_line_ids if rl.repartition_type == 'tax' + ): + tax_data['is_reverse_charge'] = False + tag_ids = tax.invoice_repartition_line_ids.tag_ids.ids + line_code = "other" + xmlid_to_res_id = self.env['ir.model.data']._xmlid_to_res_id + if not invl.currency_id.is_zero(tax_data['tax_amount_currency']): + if xmlid_to_res_id("l10n_in.tax_tag_cess") in tag_ids: + if tax.amount_type != "percent": + line_code = "cess_non_advol" + else: + line_code = "cess" + elif xmlid_to_res_id("l10n_in.tax_tag_state_cess") in tag_ids: + if tax.amount_type != "percent": + line_code = "state_cess_non_advol" + else: + line_code = "state_cess" + else: + for gst in ["cgst", "sgst", "igst"]: + if xmlid_to_res_id("l10n_in.tax_tag_%s" % (gst)) in tag_ids: + # need to separate rc tax value so it's not pass to other values + line_code = f'{gst}_rc' if tax_data['is_reverse_charge'] else gst + return { + "tax": tax, + "base_product_id": invl.product_id, + "tax_product_id": invl.product_id, + "base_product_uom_id": invl.product_uom_id, + "tax_product_uom_id": invl.product_uom_id, + "line_code": line_code, + } + + def l10n_in_filter_to_apply(base_line, tax_values): + return base_line['record'].display_type != 'rounding' + + return self._prepare_invoice_aggregated_taxes( + filter_tax_values_to_apply=l10n_in_filter_to_apply, + grouping_key_generator=l10n_in_grouping_key_generator, + ) + + def _get_l10n_in_seller_buyer_party(self): + self.ensure_one() + return { + "seller_details": self.company_id.partner_id, + "dispatch_details": self._l10n_in_get_warehouse_address() or self.company_id.partner_id, + "buyer_details": self.partner_id, + "ship_to_details": self.partner_shipping_id or self.partner_id + } + + @api.model + def _l10n_in_extract_digits(self, string): + if not string: + return "" + matches = re.findall(r"\d+", string) + return "".join(matches) + + @api.model + def _l10n_in_is_service_hsn(self, hsn_code): + return self._l10n_in_extract_digits(hsn_code).startswith('99') + + @api.model + def _l10n_in_round_value(self, amount, precision_digits=2): + """ + This method is call for rounding. + If anything is wrong with rounding then we quick fix in method + """ + return json_float_round(amount, precision_digits) + + @api.model + def _get_l10n_in_tax_details_by_line_code(self, tax_details): + l10n_in_tax_details = {} + for tax_detail in tax_details.values(): + if tax_detail["tax"].l10n_in_reverse_charge: + l10n_in_tax_details.setdefault("is_reverse_charge", True) + line_code = tax_detail["line_code"] + l10n_in_tax_details.setdefault("%s_rate" % (line_code), tax_detail["tax"].amount) + l10n_in_tax_details.setdefault("%s_amount" % (line_code), 0.00) + l10n_in_tax_details.setdefault("%s_amount_currency" % (line_code), 0.00) + l10n_in_tax_details["%s_amount" % (line_code)] += tax_detail["tax_amount"] + l10n_in_tax_details["%s_amount_currency" % (line_code)] += tax_detail["tax_amount_currency"] + return l10n_in_tax_details + + @api.model + def _l10n_in_edi_get_iap_buy_credits_message(self): + url = self.env['iap.account'].get_credits_url(service_name=IAP_SERVICE_NAME) + return Markup("""

%s

%s %s

""") % ( + _("You have insufficient credits to send this document!"), + _("Please buy more credits and retry: "), + url, + _("Buy Credits") + ) + + def _get_sync_stack(self, container): + stack, update_containers = super()._get_sync_stack(container) + if all(move.country_code != 'IN' for move in self): + return stack, update_containers + _tax_container, invoice_container, misc_container = update_containers() + moves = invoice_container['records'] + misc_container['records'] + stack.append((9, self._sync_l10n_in_gstr_section(moves))) + return stack, update_containers + + @contextmanager + def _sync_l10n_in_gstr_section(self, moves): + yield + tax_tags_dict = self.env['account.move.line']._get_l10n_in_tax_tag_ids() + # we set the section on the invoice lines + moves.line_ids._set_l10n_in_gstr_section(tax_tags_dict) + + def _get_l10n_in_invoice_label(self): + self.ensure_one() + exempt_types = {'exempt', 'nil_rated', 'non_gst'} + if self.country_code != 'IN' or not self.is_sale_document(include_receipts=False): + return + gst_treatment = self.l10n_in_gst_treatment + company = self.company_id + tax_types = set(self.invoice_line_ids.tax_ids.mapped('l10n_in_tax_type')) + if company.l10n_in_is_gst_registered and tax_types: + if gst_treatment in ['overseas', 'special_economic_zone']: + return 'Tax Invoice' + elif tax_types.issubset(exempt_types): + return 'Bill of Supply' + elif tax_types.isdisjoint(exempt_types): + return 'Tax Invoice' + elif gst_treatment in ['unregistered', 'consumer']: + return 'Invoice-cum-Bill of Supply' + return 'Invoice' diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_journal.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_journal.py new file mode 100644 index 0000000..a95f1a2 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_journal.py @@ -0,0 +1,30 @@ +from odoo import models + + +class AccountJournal(models.Model): + _inherit = "account.journal" + + def _update_payment_method_lines(self, payment_type): + bank_journals = self.filtered(lambda j: j.type == "bank" and j.company_id.chart_template == "in") + if not bank_journals: + return + + if payment_type == 'inbound': + account_xmlid = "account_journal_payment_debit_account_id" + else: + account_xmlid = "account_journal_payment_credit_account_id" + + lines_to_update = bank_journals[f"{payment_type}_payment_method_line_ids"].filtered( + lambda l: l.payment_method_id.code == 'manual' + ) + for company, lines in lines_to_update.grouped('company_id').items(): + if account := self.env['account.chart.template'].with_company(company).ref(account_xmlid, raise_if_not_found=False): + lines.payment_account_id = account + + def _compute_inbound_payment_method_line_ids(self): + super()._compute_inbound_payment_method_line_ids() + self._update_payment_method_lines("inbound") + + def _compute_outbound_payment_method_line_ids(self): + super()._compute_outbound_payment_method_line_ids() + self._update_payment_method_lines("outbound") diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_move_line.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_move_line.py new file mode 100644 index 0000000..cc80081 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_move_line.py @@ -0,0 +1,318 @@ +import re +from datetime import date + +from odoo import _, api, fields, models + + +class AccountMoveLine(models.Model): + _inherit = "account.move.line" + + l10n_in_hsn_code = fields.Char(string="HSN/SAC Code", compute="_compute_l10n_in_hsn_code", store=True, readonly=False, copy=False) + l10n_in_gstr_section = fields.Selection( + selection=[ + ("sale_b2b_rcm", "B2B RCM"), + ("sale_b2b_regular", "B2B Regular"), + ("sale_b2cl", "B2CL"), + ("sale_b2cs", "B2CS"), + ("sale_exp_wp", "EXP(WP)"), + ("sale_exp_wop", "EXP(WOP)"), + ("sale_sez_wp", "SEZ(WP)"), + ("sale_sez_wop", "SEZ(WOP)"), + ("sale_deemed_export", "Deemed Export"), + ("sale_cdnr_rcm", "CDNR RCM"), + ("sale_cdnr_regular", "CDNR Regular"), + ("sale_cdnr_deemed_export", "CDNR(Deemed Export)"), + ("sale_cdnr_sez_wp", "CDNR(SEZ-WP)"), + ("sale_cdnr_sez_wop", "CDNR(SEZ-WOP)"), + ("sale_cdnur_b2cl", "CDNUR(B2CL)"), + ("sale_cdnur_exp_wp", "CDNUR(EXP-WP)"), + ("sale_cdnur_exp_wop", "CDNUR(EXP-WOP)"), + ("sale_nil_rated", "Nil Rated"), + ("sale_exempt", "Exempt"), + ("sale_non_gst_supplies", "Non-GST Supplies"), + ("sale_eco_9_5", "ECO 9(5)"), + ("sale_out_of_scope", "Out of Scope"), + ("purchase_b2b_regular", "B2B Regular"), + ("purchase_b2c_regular", "B2C Regular"), # will be removed in master + ("purchase_b2b_rcm", "B2B RCM"), + ("purchase_b2c_rcm", "B2C RCM"), + ("purchase_imp_services", "IMP(service)"), + ("purchase_imp_goods", "IMP(goods)"), + ("purchase_cdnr_regular", "CDNR Regular"), + ("purchase_cdnur_regular", "CDNUR Regular"), + ("purchase_cdnr_rcm", "CDNR RCM"), + ("purchase_cdnur_rcm", "CDNUR RCM"), + ("purchase_nil_rated", "Nil Rated"), + ("purchase_exempt", "Exempt"), + ("purchase_non_gst_supplies", "Non-GST Supplies"), + ("purchase_out_of_scope", "Out of Scope"), + ], + string="GSTR Section", + index="btree_not_null", + ) + + # withholding related fields + l10n_in_withhold_tax_amount = fields.Monetary(string="TDS Tax Amount", compute='_compute_l10n_in_withhold_tax_amount') + l10n_in_tds_tcs_section_id = fields.Many2one(related="account_id.l10n_in_tds_tcs_section_id") + + @api.depends('tax_ids') + def _compute_l10n_in_withhold_tax_amount(self): + # Compute the withhold tax amount for the withholding lines + withholding_lines = self.filtered('move_id.l10n_in_is_withholding') + (self - withholding_lines).l10n_in_withhold_tax_amount = False + for line in withholding_lines: + line.l10n_in_withhold_tax_amount = line.currency_id.round(abs(line.price_total - line.price_subtotal)) + + @api.depends('product_id', 'product_id.l10n_in_hsn_code') + def _compute_l10n_in_hsn_code(self): + for line in self: + if line.move_id.country_code == 'IN' and line.parent_state == 'draft': + line.l10n_in_hsn_code = line.product_id.l10n_in_hsn_code + + def _l10n_in_check_invalid_hsn_code(self): + self.ensure_one() + hsn_code = self.env['account.move']._l10n_in_extract_digits(self.l10n_in_hsn_code) + if not hsn_code: + return _("HSN code is not set in product line %(name)s", name=self.name) + elif not re.match(r'^\d{4}$|^\d{6}$|^\d{8}$', hsn_code): + return _( + "Invalid HSN Code (%(hsn_code)s) in product line %(product_line)s", + hsn_code=hsn_code, + product_line=self.product_id.name or self.name + ) + return False + + def _get_l10n_in_tax_tag_ids(self): + xmlid_to_res_id = self.env['ir.model.data']._xmlid_to_res_id + tag_refs = { + 'sgst': ['l10n_in.tax_tag_base_sgst', 'l10n_in.tax_tag_sgst'], + 'cgst': ['l10n_in.tax_tag_base_cgst', 'l10n_in.tax_tag_cgst'], + 'igst': ['l10n_in.tax_tag_base_igst', 'l10n_in.tax_tag_igst'], + 'cess': ['l10n_in.tax_tag_base_cess', 'l10n_in.tax_tag_cess'], + 'eco_9_5': ['l10n_in.tax_tag_eco_9_5'], + } + return { + categ: [xmlid_to_res_id(xml_id) for xml_id in ref] + for categ, ref in tag_refs.items() + } + + def _get_l10n_in_gstr_section(self, tax_tags_dict): + + def tags_have_categ(line_tax_tags, categories): + return any(tag in line_tax_tags for category in categories for tag in tax_tags_dict.get(category, [])) + + def is_invoice(move): + return move.is_inbound() and not move.debit_origin_id + + def is_move_bill(move): + return move.is_outbound() and not move.debit_origin_id + + def get_transaction_type(move): + return 'intra_state' if move.l10n_in_state_id == move.company_id.state_id else 'inter_state' + + def is_reverse_charge_tax(line): + return any(tax.l10n_in_reverse_charge for tax in line.tax_ids | line.tax_line_id) + + def is_lut_tax(line): + return any(tax.l10n_in_is_lut for tax in line.tax_ids | line.tax_line_id) + + def get_sales_section(line): + move = line.move_id + gst_treatment = move.l10n_in_gst_treatment + transaction_type = get_transaction_type(move) + line_tags = line.tax_tag_ids.ids + is_inv = is_invoice(move) + amt_limit = 100000 if not line.invoice_date or line.invoice_date >= date(2024, 11, 1) else 250000 + + # ECO 9(5) Section: Check if the line has the ECO 9(5) tax tag + if tags_have_categ(line_tags, ['eco_9_5']): + return 'sale_eco_9_5' + + # Nil rated, Exempt, Non-GST Sales + if gst_treatment != 'overseas': + if any(tax.l10n_in_tax_type == 'nil_rated' for tax in line.tax_ids): + return 'sale_nil_rated' + elif any(tax.l10n_in_tax_type == 'exempt' for tax in line.tax_ids): + return 'sale_exempt' + elif any(tax.l10n_in_tax_type == 'non_gst' for tax in line.tax_ids): + return 'sale_non_gst_supplies' + + # B2CS: Unregistered or Consumer sales with gst tags + if gst_treatment in ('unregistered', 'consumer') and not is_reverse_charge_tax(line): + if (transaction_type == 'intra_state' and tags_have_categ(line_tags, ['sgst', 'cgst', 'cess'])) or ( + transaction_type == "inter_state" + and tags_have_categ(line_tags, ['igst', 'cess']) + and not is_lut_tax(line) + and ( + is_inv and move.amount_total <= amt_limit + or move.debit_origin_id and move.debit_origin_id.amount_total <= amt_limit + or move.reversed_entry_id and move.reversed_entry_id.amount_total <= amt_limit + ) + ): + return 'sale_b2cs' + + # If no relevant tags are found, or the tags do not match any category, mark as out of scope + if not line_tags or not tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess', 'eco_9_5']): + return 'sale_out_of_scope' + + # If it's a standard invoice (not a debit/credit note) + if is_inv: + # B2B with Reverse Charge and Regular + if gst_treatment in ('regular', 'composition', 'uin_holders') and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']) and not is_lut_tax(line): + if is_reverse_charge_tax(line): + return 'sale_b2b_rcm' + return 'sale_b2b_regular' + + if not is_reverse_charge_tax(line): + # B2CL: Unregistered interstate sales above threshold + if ( + gst_treatment in ('unregistered', 'consumer') + and tags_have_categ(line_tags, ['igst', 'cess']) + and not is_lut_tax(line) + and transaction_type == 'inter_state' + and move.amount_total > amt_limit + ): + return 'sale_b2cl' + # Export with payment and without payment (under LUT) of tax + if gst_treatment == 'overseas' and tags_have_categ(line_tags, ['igst', 'cess']): + if is_lut_tax(line): + return 'sale_exp_wop' + return 'sale_exp_wp' + # SEZ with payment and without payment of tax + if gst_treatment == 'special_economic_zone' and tags_have_categ(line_tags, ['igst', 'cess']): + if is_lut_tax(line): + return 'sale_sez_wop' + return 'sale_sez_wp' + # Deemed export + if gst_treatment == 'deemed_export' and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']) and not is_lut_tax(line): + return 'sale_deemed_export' + + # If it's not a standard invoice (i.e., it's a debit/credit note) + if not is_inv: + # CDN for B2B reverse charge and B2B regular + if gst_treatment in ('regular', 'composition', 'uin_holders') and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']) and not is_lut_tax(line): + if is_reverse_charge_tax(line): + return 'sale_cdnr_rcm' + return 'sale_cdnr_regular' + if not is_reverse_charge_tax(line): + # CDN for SEZ exports with payment and without payment + if gst_treatment == 'special_economic_zone' and tags_have_categ(line_tags, ['igst', 'cess']): + if is_lut_tax(line): + return 'sale_cdnr_sez_wop' + return 'sale_cdnr_sez_wp' + # CDN for deemed exports + if gst_treatment == 'deemed_export' and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']) and not is_lut_tax(line): + return 'sale_cdnr_deemed_export' + # CDN for B2CL (interstate > threshold) + if ( + gst_treatment in ('unregistered', 'consumer') + and tags_have_categ(line_tags, ['igst', 'cess']) + and not is_lut_tax(line) + and transaction_type == 'inter_state' + and ( + move.debit_origin_id and move.debit_origin_id.amount_total > amt_limit + or move.reversed_entry_id and move.reversed_entry_id.amount_total > amt_limit + or not move.reversed_entry_id and not move.is_inbound() + ) + ): + return 'sale_cdnur_b2cl' + # CDN for exports with payment and without payment + if gst_treatment == 'overseas' and tags_have_categ(line_tags, ['igst', 'cess']): + if is_lut_tax(line): + return 'sale_cdnur_exp_wop' + return 'sale_cdnur_exp_wp' + # If none of the above match, default to out of scope + return 'sale_out_of_scope' + + def get_purchase_section(line): + move = line.move_id + gst_treatment = move.l10n_in_gst_treatment + line_tags = line.tax_tag_ids.ids + is_bill = is_move_bill(move) + + # Nil rated, Exempt, Non-GST purchases + if gst_treatment != 'overseas': + if any(tax.l10n_in_tax_type == 'nil_rated' for tax in line.tax_ids): + return 'purchase_nil_rated' + elif any(tax.l10n_in_tax_type == 'exempt' for tax in line.tax_ids): + return 'purchase_exempt' + elif any(tax.l10n_in_tax_type == 'non_gst' for tax in line.tax_ids): + return 'purchase_non_gst_supplies' + + # If no relevant tags are found, or the tags do not match any category, mark as out of scope + if not line_tags or not tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']): + return 'purchase_out_of_scope' + + if is_bill: + # B2B Regular and Reverse Charge purchases + if (gst_treatment in ('regular', 'composition', 'uin_holders') and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess'])): + if is_reverse_charge_tax(line): + return 'purchase_b2b_rcm' + return 'purchase_b2b_regular' + + if not is_reverse_charge_tax(line) and ( + gst_treatment == 'deemed_export' and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']) + or gst_treatment == 'special_economic_zone' and tags_have_categ(line_tags, ['igst', 'cess']) + ): + return 'purchase_b2b_regular' + + # B2C Unregistered or Consumer sales with gst tags + if gst_treatment in ('unregistered', 'consumer') and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']) and is_reverse_charge_tax(line): + return 'purchase_b2c_rcm' + + # export service type products purchases + if gst_treatment == 'overseas' and any(tax.tax_scope == 'service' for tax in line.tax_ids | line.tax_line_id) and tags_have_categ(line_tags, ['igst', 'cess']): + return 'purchase_imp_services' + + # export goods type products purchases + if gst_treatment == 'overseas' and tags_have_categ(line_tags, ['igst', 'cess']) and not is_reverse_charge_tax(line): + return 'purchase_imp_goods' + + if not is_bill: + # credit notes for b2b purchases + if gst_treatment in ('regular', 'composition', 'uin_holders') and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']): + if is_reverse_charge_tax(line): + return 'purchase_cdnr_rcm' + return 'purchase_cdnr_regular' + + # credit notes for b2c purchases + if gst_treatment in ('unregistered', 'consumer') and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess']) and is_reverse_charge_tax(line): + return 'purchase_cdnur_rcm' + + if not is_reverse_charge_tax(line): + if gst_treatment == 'deemed_export' and tags_have_categ(line_tags, ['sgst', 'cgst', 'igst', 'cess'])\ + or gst_treatment == 'special_economic_zone' and tags_have_categ(line_tags, ['igst', 'cess']): + return 'purchase_cdnr_regular' + + if gst_treatment == 'overseas' and tags_have_categ(line_tags, ['igst', 'cess']): + return 'purchase_cdnur_regular' + + # If none of the above match, default to out of scope + return 'purchase_out_of_scope' + + indian_sale_moves_lines = self.filtered( + lambda l: l.move_id.country_code == 'IN' + and l.move_id.is_sale_document(include_receipts=True) + and l.display_type in ('product', 'tax') + ) + indian_moves_purchase_lines = self.filtered( + lambda l: l.move_id.country_code == 'IN' + and l.move_id.is_purchase_document(include_receipts=True) + and l.display_type in ('product', 'tax') + ) + # No Indian sale or purchase lines to process + if not indian_sale_moves_lines and not indian_moves_purchase_lines: + return {} + + move_lines_by_gstr_section = { + **indian_sale_moves_lines.grouped(get_sales_section), + **indian_moves_purchase_lines.grouped(get_purchase_section), + } + + return move_lines_by_gstr_section + + def _set_l10n_in_gstr_section(self, tax_tags_dict): + move_lines_by_gstr_section = self._get_l10n_in_gstr_section(tax_tags_dict) + if move_lines_by_gstr_section: + for gstr_section, move_lines in move_lines_by_gstr_section.items(): + move_lines.l10n_in_gstr_section = gstr_section diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_payment.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_payment.py new file mode 100644 index 0000000..2fca3b5 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_payment.py @@ -0,0 +1,31 @@ +from odoo import fields, models + + +class AccountPayment(models.Model): + _inherit = "account.payment" + + # withholding related fields + l10n_in_withhold_move_ids = fields.One2many( + 'account.move', 'l10n_in_withholding_ref_payment_id', + string="Indian Payment TDS Entries", + ) + l10n_in_total_withholding_amount = fields.Monetary(compute='_compute_l10n_in_total_withholding_amount') + l10n_in_tds_feature_enabled = fields.Boolean(related='company_id.l10n_in_tds_feature') + + def _compute_l10n_in_total_withholding_amount(self): + for payment in self: + if payment.company_id.l10n_in_tds_feature: + payment.l10n_in_total_withholding_amount = sum(payment.l10n_in_withhold_move_ids.filtered( + lambda m: m.state == 'posted').l10n_in_withholding_line_ids.mapped('l10n_in_withhold_tax_amount')) + else: + payment.l10n_in_total_withholding_amount = 0.0 + + def action_l10n_in_withholding_entries(self): + self.ensure_one() + return { + 'name': "TDS Entries", + 'type': 'ir.actions.act_window', + 'res_model': 'account.move', + 'view_mode': 'list,form', + 'domain': [('id', 'in', self.l10n_in_withhold_move_ids.ids)], + } diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_tax.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_tax.py new file mode 100644 index 0000000..5776699 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_tax.py @@ -0,0 +1,143 @@ +from collections import defaultdict + +from odoo import api, fields, models +from odoo.tools import frozendict + + +class AccountTax(models.Model): + _inherit = 'account.tax' + + l10n_in_reverse_charge = fields.Boolean("Reverse charge", help="Tick this if this tax is reverse charge. Only for Indian accounting") + l10n_in_gst_tax_type = fields.Selection( + selection=[('igst', 'igst'), ('cgst', 'cgst'), ('sgst', 'sgst'), ('cess', 'cess')], + compute='_compute_l10n_in_gst_tax_type', + ) + l10n_in_is_lut = fields.Boolean( + string="LUT", + help="Tick this if this tax is used in LUT (Letter of Undertaking) transactions. Only for Indian accounting.", + ) + l10n_in_tax_type = fields.Selection( + selection=[ + ('gst', 'GST'), + ('tcs', 'TCS'), + ('tds_sale', 'TDS Sale'), + ('tds_purchase', 'TDS Purchase'), + ('nil_rated', 'Nil Rated'), + ('exempt', 'Exempt'), + ('non_gst', 'Non-GST'), + ], + string="Indian Tax Type", + ) + + # withholding related fields + l10n_in_section_id = fields.Many2one('l10n_in.section.alert', string="Section") + l10n_in_tds_feature_enabled = fields.Boolean(related='company_id.l10n_in_tds_feature') + l10n_in_tcs_feature_enabled = fields.Boolean(related='company_id.l10n_in_tcs_feature') + + @api.depends('country_code', 'invoice_repartition_line_ids.tag_ids') + def _compute_l10n_in_gst_tax_type(self): + self.l10n_in_gst_tax_type = False + in_taxes = self.filtered(lambda tax: tax.country_code == 'IN') + if in_taxes: + tags_mapping = { + 'igst': self.env.ref('l10n_in.tax_tag_igst'), + 'cgst': self.env.ref('l10n_in.tax_tag_cgst'), + 'sgst': self.env.ref('l10n_in.tax_tag_sgst'), + 'cess': self.env.ref('l10n_in.tax_tag_cess'), + } + for tax in in_taxes: + tags = tax.invoice_repartition_line_ids.tag_ids + for tag_code, tag in tags_mapping.items(): + if tag in tags: + tax.l10n_in_gst_tax_type = tag_code + break + + # ------------------------------------------------------------------------- + # HELPERS IN BOTH PYTHON/JAVASCRIPT (hsn_summary.js / account_tax.py) + + # HSN SUMMARY + # ------------------------------------------------------------------------- + + def _prepare_base_line_for_taxes_computation(self, record, **kwargs): + # EXTENDS 'account' + results = super()._prepare_base_line_for_taxes_computation(record, **kwargs) + results['l10n_in_hsn_code'] = self._get_base_line_field_value_from_record(record, 'l10n_in_hsn_code', kwargs, False) + return results + + @api.model + def _l10n_in_get_hsn_summary_table(self, base_lines, display_uom): + l10n_in_gst_tax_types = set() + items_map = defaultdict(lambda: { + 'quantity': 0.0, + 'amount_untaxed': 0.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }) + + def get_base_line_grouping_key(base_line): + unique_taxes_data = set( + tax_data['tax'] + for tax_data in base_line['tax_details']['taxes_data'] + if tax_data['tax']['l10n_in_gst_tax_type'] in ('igst', 'cgst', 'sgst') + ) + rate = sum(tax.amount for tax in unique_taxes_data) + + return { + 'l10n_in_hsn_code': base_line['l10n_in_hsn_code'], + 'uom_name': base_line['product_uom_id'].name, + 'rate': rate, + } + + # quantity / amount_untaxed. + for base_line in base_lines: + key = frozendict(get_base_line_grouping_key(base_line)) + if not key['l10n_in_hsn_code']: + continue + + item = items_map[key] + item['quantity'] += base_line['quantity'] + item['amount_untaxed'] += ( + base_line['tax_details']['total_excluded_currency'] + + base_line['tax_details']['delta_total_excluded_currency'] + ) + + # Tax amounts. + def grouping_function(base_line, tax_data): + return { + **get_base_line_grouping_key(base_line), + 'l10n_in_gst_tax_type': tax_data['tax'].l10n_in_gst_tax_type, + } if tax_data else None + + base_lines_aggregated_values = self._aggregate_base_lines_tax_details(base_lines, grouping_function) + values_per_grouping_key = self._aggregate_base_lines_aggregated_values(base_lines_aggregated_values) + for grouping_key, values in values_per_grouping_key.items(): + if ( + not grouping_key + or not grouping_key['l10n_in_hsn_code'] + or not grouping_key['l10n_in_gst_tax_type'] + ): + continue + + key = frozendict({ + 'l10n_in_hsn_code': grouping_key['l10n_in_hsn_code'], + 'rate': grouping_key['rate'], + 'uom_name': grouping_key['uom_name'], + }) + item = items_map[key] + l10n_in_gst_tax_type = grouping_key['l10n_in_gst_tax_type'] + item[f'tax_amount_{l10n_in_gst_tax_type}'] += values['tax_amount_currency'] + l10n_in_gst_tax_types.add(l10n_in_gst_tax_type) + + return { + 'has_igst': 'igst' in l10n_in_gst_tax_types, + 'has_gst': bool({'cgst', 'sgst'} & l10n_in_gst_tax_types), + 'has_cess': 'cess' in l10n_in_gst_tax_types, + 'nb_columns': 5 + len(l10n_in_gst_tax_types), + 'display_uom': display_uom, + 'items': [ + key | values + for key, values in items_map.items() + ], + } diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/chart_template.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/chart_template.py deleted file mode 100644 index 57d9425..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/chart_template.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, fields, models, _ - - -class AccountChartTemplate(models.Model): - _inherit = 'account.chart.template' - - def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None): - res = super(AccountChartTemplate, self)._prepare_all_journals(acc_template_ref, company, journals_dict=journals_dict) - if self == self.env.ref('l10n_in.indian_chart_template_standard'): - for journal in res: - if journal.get('type') in ('sale','purchase'): - journal['l10n_in_gstin_partner_id'] = company.partner_id.id - return res - - def _load(self, company): - res = super(AccountChartTemplate, self)._load(company) - if self == self.env.ref("l10n_in.indian_chart_template_standard"): - company.write({ - 'account_opening_date': fields.Date.context_today(self).replace(month=4, day=1), - 'fiscalyear_last_month': '3', - }) - return res - - -class AccountTaxTemplate(models.Model): - _inherit = 'account.tax.template' - - l10n_in_reverse_charge = fields.Boolean("Reverse charge", help="Tick this if this tax is reverse charge. Only for Indian accounting") - - def _get_tax_vals(self, company, tax_template_to_tax): - val = super(AccountTaxTemplate, self)._get_tax_vals(company, tax_template_to_tax) - if self.tax_group_id: - val['l10n_in_reverse_charge'] = self.l10n_in_reverse_charge - return val diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/company.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/company.py new file mode 100644 index 0000000..3a191ea --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/company.py @@ -0,0 +1,195 @@ +import pytz +from stdnum.in_ import pan, gstin + +from odoo import Command, _, api, fields, models +from odoo.exceptions import RedirectWarning + + +class ResCompany(models.Model): + _inherit = 'res.company' + + l10n_in_upi_id = fields.Char(string="UPI Id") + l10n_in_hsn_code_digit = fields.Selection( + selection=[ + ("4", "4 Digits (turnover < 5 CR.)"), + ("6", "6 Digits (turnover > 5 CR.)"), + ("8", "8 Digits"), + ], + string="HSN Code Digit", + compute="_compute_l10n_in_hsn_code_digit", + store=True, + readonly=False, + ) + l10n_in_edi_production_env = fields.Boolean( + string="Indian Production Environment", + help="Enable the use of production credentials", + groups="base.group_system", + default=True, + ) + l10n_in_pan_entity_id = fields.Many2one( + related="partner_id.l10n_in_pan_entity_id", + string="PAN", + store=True, + readonly=False, + help="PAN enables the department to link all transactions of the person with the department.\n" + "These transactions include taxpayments, TDS/TCS credits, returns of income/wealth/gift/FBT," + "specified transactions, correspondence, and so on.\n" + "Thus, PAN acts as an identifier for the person with the tax department.", + ) + l10n_in_pan_type = fields.Selection(related="l10n_in_pan_entity_id.type", string="PAN Type") + l10n_in_tan = fields.Char(related="partner_id.l10n_in_tan", string="TAN", readonly=False) + l10n_in_gst_state_warning = fields.Char(related="partner_id.l10n_in_gst_state_warning") + + # TDS/TCS settings + l10n_in_tds_feature = fields.Boolean( + string="TDS", + compute="_compute_l10n_in_parent_based_features", + inverse="_inverse_l10n_in_tds_feature", + recursive=True, + store=True, + ) + l10n_in_tcs_feature = fields.Boolean( + string="TCS", + compute="_compute_l10n_in_parent_based_features", + inverse="_inverse_l10n_in_tcs_feature", + recursive=True, + store=True, + ) + l10n_in_withholding_account_id = fields.Many2one( + comodel_name='account.account', + string="TDS Account", + check_company=True, + ) + l10n_in_withholding_journal_id = fields.Many2one( + comodel_name='account.journal', + string="TDS Journal", + check_company=True, + ) + + # GST settings + l10n_in_is_gst_registered = fields.Boolean( + string="Registered Under GST", + compute="_compute_l10n_in_parent_based_features", + inverse="_inverse_l10n_in_is_gst_registered", + recursive=True, + store=True, + ) + l10n_in_gstin_status_feature = fields.Boolean(string="Check GST Number Status") + + def _inverse_l10n_in_tds_feature(self): + for company in self: + self._activate_l10n_in_taxes(['tds_group'], company, company.l10n_in_tds_feature) + + def _inverse_l10n_in_tcs_feature(self): + for company in self: + self._activate_l10n_in_taxes(['tcs_group'], company, company.l10n_in_tcs_feature) + + def _inverse_l10n_in_is_gst_registered(self): + for company in self: + gst_group_refs = [ + 'sgst_group', + 'cgst_group', + 'igst_group', + 'cess_group', + 'gst_group', + 'exempt_group', + 'nil_rated_group', + 'non_gst_supplies_group', + ] + if company.l10n_in_is_gst_registered: + self._activate_l10n_in_taxes(gst_group_refs, company, True) + # Set sale and purchase tax accounts when user registered under GST. + company.account_sale_tax_id = self.env['account.chart.template'].with_company(company).ref('sgst_sale_5', raise_if_not_found=False) + company.account_purchase_tax_id = self.env['account.chart.template'].with_company(company).ref('sgst_purchase_5', raise_if_not_found=False) + else: + self._activate_l10n_in_taxes(gst_group_refs, company, False) + company.account_sale_tax_id = False + company.account_purchase_tax_id = False + + @api.depends('parent_id.l10n_in_tds_feature', 'parent_id.l10n_in_tcs_feature', 'parent_id.l10n_in_is_gst_registered') + def _compute_l10n_in_parent_based_features(self): + for company in self: + if company.parent_id: + company.l10n_in_tds_feature = company.parent_id.l10n_in_tds_feature + company.l10n_in_tcs_feature = company.parent_id.l10n_in_tcs_feature + company.l10n_in_is_gst_registered = company.parent_id.l10n_in_is_gst_registered + + def _activate_l10n_in_taxes(self, group_refs, company, active=True): + tax_group_ids = [ + tax_group.id + for group_ref in group_refs + if (tax_group := self.env['account.chart.template'].with_company(company).ref(group_ref, raise_if_not_found=False)) + ] + + if tax_group_ids: + taxes = self.env['account.tax'].with_company(company).with_context(active_test=False).search([ + ('tax_group_id', 'in', tax_group_ids), + ('active', '!=', active) + ]) + taxes.write({'active': active}) + + @api.depends('vat') + def _compute_l10n_in_hsn_code_digit(self): + for record in self: + if record.country_code == "IN" and record.vat: + record.l10n_in_hsn_code_digit = "4" + else: + record.l10n_in_hsn_code_digit = False + + @api.onchange('vat') + def onchange_vat(self): + self.partner_id.onchange_vat() + + @api.model_create_multi + def create(self, vals_list): + res = super().create(vals_list) + # Update Fiscal Positions for new branch + res._update_l10n_in_fiscal_position() + return res + + def write(self, vals): + res = super().write(vals) + if vals.get('vat'): + # Enable GST(l10n_in_is_gst_registered) when a valid GSTIN(vat) is applied. + self._update_l10n_in_is_gst_registered() + if (vals.get('state_id') or vals.get('country_id')) and not self.env.context.get('delay_account_group_sync'): + # Update Fiscal Positions for companies setting up state for the first time + self._update_l10n_in_fiscal_position() + return res + + def _update_l10n_in_fiscal_position(self): + companies_need_update_fp = self.filtered(lambda c: c.parent_ids[0].chart_template == 'in') + for company in companies_need_update_fp: + ChartTemplate = self.env['account.chart.template'].with_company(company) + fiscal_position_data = ChartTemplate._get_in_account_fiscal_position() + for values in fiscal_position_data.values(): + values['tax_ids'] = [Command.set([ + xml_id + for xml_id in values['tax_ids'][0][2] + if ChartTemplate.ref(xml_id, raise_if_not_found=False) + ])] + ChartTemplate._load_data({'account.fiscal.position': fiscal_position_data}) + + def _update_l10n_in_is_gst_registered(self): + for company in self: + if company.country_code == "IN" and company.vat: + company.l10n_in_is_gst_registered = company.partner_id.check_vat_in(company.vat) + + def action_update_state_as_per_gstin(self): + self.ensure_one() + self.partner_id.action_update_state_as_per_gstin() + + def _check_tax_return_configuration(self): + """ + Check if the company is properly configured for tax returns. + :raises RedirectWarning: if something is wrong configured. + """ + + if self.country_code != 'IN': + return super()._check_tax_return_configuration() + + is_l10n_in_reports_installed = 'l10n_in_reports' in self.env['ir.module.module']._installed() + if not is_l10n_in_reports_installed: + msg = _("First enable GST e-Filing feature from configuration for company %s.", (self.name)) + action = self.env.ref("account.action_account_config") + raise RedirectWarning(msg, action.id, _('Go to configuration')) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/iap_account.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/iap_account.py new file mode 100644 index 0000000..6dd7f0d --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/iap_account.py @@ -0,0 +1,30 @@ +from odoo import api, models +from odoo.addons.iap import jsonrpc + +DEFAULT_IAP_ENDPOINT = "https://l10n-in-edi.api.odoo.com" +DEFAULT_IAP_TEST_ENDPOINT = "https://l10n-in-edi-demo.api.odoo.com" +IAP_SERVICE_NAME = 'l10n_in_edi' +TEST_GST_NUMBER = '24FANCY1234AAZA' + + +class IapAccount(models.Model): + _inherit = 'iap.account' + + @api.model + def _l10n_in_connect_to_server(self, is_production, params, url_path, config_parameter, timeout=25): + IrConfigParam = self.env['ir.config_parameter'].sudo() + user_token = self.get(IAP_SERVICE_NAME) + params.update({ + "dbuuid": IrConfigParam.get_param("database.uuid"), + "account_token": user_token.sudo().account_token, + }) + gsp_provider = IrConfigParam.get_param("l10n_in.gsp_provider") + if gsp_provider: + params.update({"gsp_provider": gsp_provider}) + if params.get('gstin') == TEST_GST_NUMBER: + default_endpoint = DEFAULT_IAP_TEST_ENDPOINT + else: + default_endpoint = DEFAULT_IAP_ENDPOINT if is_production else DEFAULT_IAP_TEST_ENDPOINT + endpoint = IrConfigParam.get_param(config_parameter, default_endpoint) + url = "%s%s" % (endpoint, url_path) + return jsonrpc(url, params=params, timeout=timeout) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_pan_entity.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_pan_entity.py new file mode 100644 index 0000000..0afd44a --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_pan_entity.py @@ -0,0 +1,92 @@ +import base64 + +from stdnum.in_ import pan +from odoo import api, fields, models, _ + +from odoo.exceptions import ValidationError + + +class L10nInPanEntity(models.Model): + _name = 'l10n_in.pan.entity' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _description = 'Indian PAN Entity' + + name = fields.Char(string="PAN", tracking=1, required=True) + type = fields.Selection([ + ('a', 'Association of Persons'), + ('b', 'Body of Individuals'), + ('c', 'Company'), + ('f', 'Firms'), + ('g', 'Government'), + ('h', 'Hindu Undivided Family'), + ('j', 'Artificial Judicial Person'), + ('l', 'Local Authority'), + ('p', 'Individual'), + ('t', 'Association of Persons for a Trust'), + ('k', 'Krish (Trust Krish)'), + ], compute='_compute_type', readonly=True, store=True) + partner_ids = fields.One2many( + comodel_name='res.partner', + inverse_name='l10n_in_pan_entity_id', + string="Partners", + domain="[('l10n_in_pan_entity_id', '=', False), '|', ('vat', '=', False), ('vat', 'like', name)]" + ) + tds_deduction = fields.Selection([ + ('normal', 'Normal'), + ('lower', 'Lower'), + ('higher', 'Higher'), + ('no', 'No'), + ], string="TDS Deduction", default='normal', tracking=2) + tds_certificate = fields.Binary(string="TDS Certificate", copy=False) + tds_certificate_filename = fields.Char(string="TDS Certificate Filename", copy=False) + + # MSME/Udyam Registration details + msme_type = fields.Selection([ + ("micro", "Micro"), + ("small", "Small"), + ("medium", "Medium") + ], string="MSME/Udyam Registration Type", copy=False) + msme_number = fields.Char(string="MSME/Udyam Registration Number", copy=False) + + _name_uniq = models.Constraint( + 'unique (name)', + 'A PAN Entity with same PAN Number already exists.', + ) + + @api.constrains('name') + def _check_pan_name(self): + if 'import_file' in self.env.context: + return + for record in self: + if record.name and not pan.is_valid(record.name): + raise ValidationError(_("The entered PAN %s seems invalid. Please enter a valid PAN.", record.name)) + + @api.model_create_multi + def create(self, vals_list): + records = super().create(vals_list) + for record in records: + record.name = record.name.upper() + return records + + def write(self, vals): + if vals.get('name'): + vals['name'] = vals['name'].upper() + res = super().write(vals) + if vals.get('tds_certificate'): + for rec in self: + rec.message_post( + body=_("TDS Certificate Added"), + message_type='notification', + subtype_xmlid='mail.mt_note', + attachments=[(rec.tds_certificate_filename, base64.b64decode(vals['tds_certificate']))] + ) + return res + + @api.depends('name') + def _compute_type(self): + for record in self: + if record.name: + if pan.is_valid(record.name): + record.type = record.name[3].lower() + else: + record.type = False diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_report_handler.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_report_handler.py new file mode 100644 index 0000000..915976a --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_report_handler.py @@ -0,0 +1,17 @@ +from odoo import models + + +class AccountReport(models.Model): + _inherit = 'account.report' + + def _init_options_buttons(self, options, previous_options): + super()._init_options_buttons(options, previous_options) + company = self.env.company + generic_report_id = self.env.ref('account.generic_tax_report').id + + # Remove 'Returns' button from generic report for indian company + if company.country_id.code == 'IN' and self.id == generic_report_id and not self.root_report_id: + options['buttons'] = [ + button for button in options['buttons'] + if button.get('action') != 'action_open_returns' + ] diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_section_alert.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_section_alert.py new file mode 100644 index 0000000..e87c8a5 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/l10n_in_section_alert.py @@ -0,0 +1,50 @@ +from odoo import _, api, fields, models + + +class L10n_InSectionAlert(models.Model): + _name = 'l10n_in.section.alert' + _description = "indian section alert" + + name = fields.Char("Section Name") + tax_source_type = fields.Selection([ + ('tds', 'TDS'), + ('tcs', 'TCS'), + ], string="Tax Source Type") + consider_amount = fields.Selection([ + ('untaxed_amount', 'Untaxed Amount'), + ('total_amount', 'Total Amount'), + ], string="Consider", default='untaxed_amount', required=True) + is_per_transaction_limit = fields.Boolean("Per Transaction") + per_transaction_limit = fields.Float("Per Transaction limit") + is_aggregate_limit = fields.Boolean("Aggregate") + aggregate_limit = fields.Float("Aggregate limit") + aggregate_period = fields.Selection([ + ('monthly', 'Monthly'), + ('fiscal_yearly', 'Financial Yearly'), + ], string="Aggregate Period", default='fiscal_yearly') + l10n_in_section_tax_ids = fields.One2many("account.tax", "l10n_in_section_id", string="Taxes") + tax_report_line_id = fields.Many2one(string="Tax Report Line", comodel_name='account.report.line') + + _per_transaction_limit = models.Constraint( + 'CHECK(per_transaction_limit >= 0)', + 'Per transaction limit must be positive', + ) + _aggregate_limit = models.Constraint( + 'CHECK(aggregate_limit >= 0)', + 'Aggregate limit must be positive', + ) + + @api.depends('tax_source_type') + def _compute_display_name(self): + for record in self: + record.display_name = f"{record.tax_source_type.upper()} {record.name or ''}" if record.tax_source_type else f"{record.name or ''}" + + def _get_warning_message(self): + warning = ", ".join(self.mapped('name')) + section_type = next(iter(set(self.mapped('tax_source_type')))).upper() + action = _('collect') if section_type == 'TCS' else _('deduct') + return _("It's advisable to %(action)s %(section_type)s u/s %(warning)s on this transaction.", + action=action, + section_type=section_type, + warning=warning + ) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/mail_message.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/mail_message.py deleted file mode 100644 index c85dd76..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/mail_message.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from markupsafe import Markup - -from odoo import fields, api, models, _ -from odoo.exceptions import UserError - - -class Message(models.Model): - _inherit = 'mail.message' - - l10n_in_audit_log_preview = fields.Html(string="Description", compute="_compute_l10n_in_audit_log_preview") - l10n_in_audit_log_account_move_id = fields.Many2one('account.move', string="Journal Entry", compute="_compute_l10n_in_audit_log_document_name", search="_search_l10n_in_audit_log_document_name") - - @api.depends('body', 'subject', 'tracking_value_ids', 'subtype_id') - def _compute_l10n_in_audit_log_preview(self): - for message in self: - title = message.subject or message.preview - tracking_value_ids = message.sudo().tracking_value_ids - if not title and tracking_value_ids: - title = _("Updated") - elif not title and message.subtype_id and not message.subtype_id.internal: - title = message.subtype_id.display_name - audit_log_preview = Markup("
%s
") % (title) - for value in tracking_value_ids: - audit_log_preview += Markup( - "
  • %(old_value)s %(new_value)s (%(field)s)
  • " - ) % { - 'old_value': value._get_old_display_value()[0] or _("None"), - 'new_value': value._get_new_display_value()[0] or _("None"), - 'title': _("Changed"), - 'field': value.field.field_description, - } - message.l10n_in_audit_log_preview = audit_log_preview - - @api.depends('model', 'res_id') - def _compute_l10n_in_audit_log_document_name(self): - messages_of_account_move = self.filtered(lambda m: m.model == 'account.move' and m.res_id) - (self - messages_of_account_move).l10n_in_audit_log_account_move_id = False - moves = self.env['account.move'].search([('id', 'in', messages_of_account_move.mapped('res_id'))]) - moves_by_id = {m.id: m for m in moves} - for message in messages_of_account_move: - message.l10n_in_audit_log_account_move_id = moves_by_id.get(message.res_id, False) - - def _search_l10n_in_audit_log_document_name(self, operator, value): - is_set = False - if operator == '!=' and isinstance(value, bool): - is_set = True - elif operator not in ['=', 'ilike'] or not isinstance(value, str): - raise UserError(_('Operation not supported')) - move_domain = [('company_id.account_fiscal_country_id.code', '=', 'IN')] - if not is_set: - move_domain += [('name', operator, value)] - move_query = self.env['account.move']._search(move_domain) - return [('model', '=', 'account.move'), ('res_id', 'in', move_query)] diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/port_code.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/port_code.py index dfd54f3..776987c 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/port_code.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/port_code.py @@ -1,10 +1,7 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - from odoo import fields, models -class L10nInPortCode(models.Model): +class L10n_InPortCode(models.Model): """Port code must be mentioned in export and import of goods under GST.""" _name = 'l10n_in.port.code' _description = "Indian port code" @@ -14,6 +11,7 @@ class L10nInPortCode(models.Model): name = fields.Char(string="Port", required=True) state_id = fields.Many2one('res.country.state', string="State") - _sql_constraints = [ - ('code_uniq', 'unique (code)', 'The Port Code must be unique!') - ] + _code_uniq = models.Constraint( + 'unique (code)', + 'The Port Code must be unique!', + ) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/product_template.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/product_template.py index 6250fac..c701b8c 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/product_template.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/product_template.py @@ -1,11 +1,41 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import models, fields +import re +from odoo import _, api, models, fields class ProductTemplate(models.Model): _inherit = 'product.template' l10n_in_hsn_code = fields.Char(string="HSN/SAC Code", help="Harmonized System Nomenclature/Services Accounting Code") - l10n_in_hsn_description = fields.Char(string="HSN/SAC Description", help="HSN/SAC description is required if HSN/SAC code is not provided.") + l10n_in_hsn_warning = fields.Text(string="HSC/SAC warning", compute="_compute_l10n_in_hsn_warning") + l10n_in_is_gst_registered_enabled = fields.Boolean(compute="_compute_l10n_in_is_gst_registered_enabled") + + @api.depends('company_id.l10n_in_is_gst_registered') + @api.depends_context('allowed_company_ids') + def _compute_l10n_in_is_gst_registered_enabled(self): + for record in self: + allowed_companies = record.company_id or self.env.companies + record.l10n_in_is_gst_registered_enabled = any( + company.l10n_in_is_gst_registered + for company in allowed_companies + ) + + @api.depends('sale_ok', 'l10n_in_hsn_code') + def _compute_l10n_in_hsn_warning(self): + digit_suffixes = { + '4': _("either 4, 6 or 8"), + '6': _("either 6 or 8"), + '8': _("8") + } + active_hsn_code_digit_len = max( + int(company.l10n_in_hsn_code_digit) + for company in self.env.companies + ) + for record in self: + check_hsn = record.sale_ok and record.l10n_in_hsn_code and active_hsn_code_digit_len + if check_hsn and (not re.match(r'^\d{4}$|^\d{6}$|^\d{8}$', record.l10n_in_hsn_code) or len(record.l10n_in_hsn_code) < active_hsn_code_digit_len): + record.l10n_in_hsn_warning = _( + "HSN code field must consist solely of digits and be %s in length.", + digit_suffixes.get(str(active_hsn_code_digit_len)) + ) + continue + record.l10n_in_hsn_warning = False diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_config_settings.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_config_settings.py index 11a58d9..a996dda 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_config_settings.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_config_settings.py @@ -1,10 +1,190 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import _, fields, models +from odoo.exceptions import UserError, ValidationError, RedirectWarning +from odoo.tools.sql import column_exists, create_column +from odoo.tools import SQL -from odoo import api, fields, models +from odoo.addons.l10n_in.models.iap_account import IAP_SERVICE_NAME class ResConfigSettings(models.TransientModel): _inherit = 'res.config.settings' - group_l10n_in_reseller = fields.Boolean(implied_group='l10n_in.group_l10n_in_reseller', string="Manage Reseller(E-Commerce)") + group_l10n_in_reseller = fields.Boolean( + implied_group='l10n_in.group_l10n_in_reseller', + string="Manage Reseller(E-Commerce)" + ) + l10n_in_edi_production_env = fields.Boolean( + string="Indian Production Environment", + related="company_id.l10n_in_edi_production_env", + readonly=False + ) + l10n_in_gsp = fields.Selection(selection=[ + ('bvm', 'BVM IT Consulting'), + ('tera', 'Tera Software (Deprecated)'), + ], string="GSP", + inverse="_set_l10n_in_gsp", # use an inverse method to invalidate existing tokens if the GSP is changed + store=False, + help="Select the GST Suvidha Provider (GSP) you want to use for GST services.", + ) + l10n_in_hsn_code_digit = fields.Selection( + related='company_id.l10n_in_hsn_code_digit', + readonly=False + ) + + # TDS/TCS settings + l10n_in_tds_feature = fields.Boolean( + related='company_id.l10n_in_tds_feature', + readonly=False + ) + l10n_in_tcs_feature = fields.Boolean( + related='company_id.l10n_in_tcs_feature', + readonly=False + ) + l10n_in_withholding_account_id = fields.Many2one( + related='company_id.l10n_in_withholding_account_id', + readonly=False + ) + l10n_in_withholding_journal_id = fields.Many2one( + related='company_id.l10n_in_withholding_journal_id', + readonly=False + ) + l10n_in_tan = fields.Char( + related='company_id.l10n_in_tan', + readonly=False + ) + + # GST settings + l10n_in_is_gst_registered = fields.Boolean( + related='company_id.l10n_in_is_gst_registered', + readonly=False + ) + l10n_in_gstin = fields.Char( + string="GST Number", + related='company_id.vat', + readonly=False + ) + l10n_in_gstin_status_feature = fields.Boolean( + related='company_id.l10n_in_gstin_status_feature', + readonly=False + ) + l10n_in_gst_efiling_feature = fields.Boolean(string="GST E-Filing & Matching Feature") + l10n_in_fetch_vendor_edi_feature = fields.Boolean(string="Fetch Vendor E-Invoiced Document") + l10n_in_enet_vendor_batch_payment_feature = fields.Boolean(string="ENet Vendor Batch Payment") + + module_l10n_in_reports = fields.Boolean("GST E-Filing & Matching") + module_l10n_in_edi = fields.Boolean("Indian Electronic Invoicing") + module_l10n_in_ewaybill = fields.Boolean("Indian Electronic Waybill") + + def set_values(self): + super().set_values() + if self.country_code == 'IN': + if ( + not self.module_l10n_in_reports + and ( + self.l10n_in_fetch_vendor_edi_feature + or self.l10n_in_gst_efiling_feature + or self.l10n_in_enet_vendor_batch_payment_feature + ) + ): + self.module_l10n_in_reports = True + for l10n_in_feature in ( + "l10n_in_fetch_vendor_edi_feature", + "l10n_in_gst_efiling_feature", + "l10n_in_enet_vendor_batch_payment_feature", + ): + if self[l10n_in_feature]: + self._update_l10n_in_feature(l10n_in_feature) + if self.module_l10n_in_edi: + self._update_l10n_in_feature("l10n_in_edi_feature") + if self.module_l10n_in_ewaybill: + self._update_l10n_in_feature("l10n_in_ewaybill_feature") + + def _update_l10n_in_feature(self, column): + """ This way, after installing the module, the field will already be set for the active company. """ + if not column_exists(self.env.cr, "res_company", column): + create_column(self.env.cr, "res_company", column, "boolean") + self.env.cr.execute(SQL( + f""" + UPDATE res_company + SET {column} = true + WHERE id = {self.env.company.id} + """ + )) + + def l10n_in_edi_buy_iap(self): + if ( + not self.l10n_in_edi_production_env + or not ( + self.module_l10n_in_edi + or self.module_l10n_in_ewaybill + or self.l10n_in_gstin_status_feature + or self.l10n_in_gst_efiling_feature + ) + ): + raise ValidationError(_( + "Please ensure that at least one Indian service and production environment is enabled," + " and save the configuration to proceed with purchasing credits." + )) + return { + 'type': 'ir.actions.act_url', + 'url': self.env["iap.account"].get_credits_url(service_name=IAP_SERVICE_NAME), + 'target': '_new' + } + + def _l10n_in_check_gst_number(self): + company = self.company_id + if not company.partner_id.check_vat_in(company.vat): + action = { + 'view_mode': 'form', + 'res_model': 'res.company', + 'type': 'ir.actions.act_window', + 'res_id': company.id, + 'views': [[self.env.ref('base.view_company_form').id, 'form']], + } + raise RedirectWarning(_("Please set a valid GST number on company."), action, _("Go to Company")) + + def reload_template(self): + super().reload_template() + if self.country_code == 'IN': + branch_companies = self.company_id.child_ids + if branch_companies: + branch_companies._update_l10n_in_fiscal_position() + + def _l10n_in_is_first_time_setup(self): + """ + Check if at least one company for India has been configured with the localization settings. + If not, it means it's the first time setup. + """ + all_validity_fields = ['l10n_in_gstr_gst_token_validity', 'l10n_in_edi_token_validity', 'l10n_in_ewaybill_auth_validity'] + validity_fields = (field_name for field_name in self.company_id._fields if field_name in all_validity_fields) + if validity_fields: + validity_fields_domain = fields.Domain.OR([[(field_name, '!=', False)] for field_name in validity_fields]) + configured_company_count = self.env['res.company'].sudo().search_count([ + ('account_fiscal_country_id.code', '=', 'IN'), + *validity_fields_domain + ]) + return not configured_company_count + return True + + def get_values(self): + res = super().get_values() + res['l10n_in_gsp'] = self.env['ir.config_parameter'].sudo().get_param('l10n_in.gsp_provider') + if not res['l10n_in_gsp']: + if self._l10n_in_is_first_time_setup(): + # Default to BVM for new databases setting up India localization for the first time + res['l10n_in_gsp'] = 'bvm' + else: + res['l10n_in_gsp'] = 'tera' + return res + + def _l10n_in_gsp_provider_changed(self): + """ Hook to be overridden in other modules to handle GSP provider change. """ + self.ensure_one() + self.env['ir.config_parameter'].sudo().set_param('l10n_in.gsp_provider', self.l10n_in_gsp) + + def _set_l10n_in_gsp(self): + gsp_before = self.env['ir.config_parameter'].sudo().get_param('l10n_in.gsp_provider') + for config in self: + if gsp_before != config.l10n_in_gsp: + config._l10n_in_gsp_provider_changed() + return diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_country_state.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_country_state.py index 6cb495a..23037ab 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_country_state.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_country_state.py @@ -1,10 +1,7 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - from odoo import fields, models -class CountryState(models.Model): +class ResCountryState(models.Model): _inherit = 'res.country.state' - l10n_in_tin = fields.Char('TIN Number', size=2, help="TIN number-first two digits") + l10n_in_tin = fields.Char("TIN Number", size=2, help="TIN number-first two digits") diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_partner.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_partner.py index cbdd43f..e086005 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_partner.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/res_partner.py @@ -1,9 +1,17 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. +import logging +import re +from stdnum.in_ import pan from odoo import api, fields, models, _ +from odoo.exceptions import UserError, AccessError, ValidationError +from odoo.addons.l10n_in.models.iap_account import IAP_SERVICE_NAME +from odoo.tools.misc import clean_context + +_logger = logging.getLogger(__name__) TEST_GST_NUMBER = "36AABCT1332L011" +TEST_GST_NUMBER_BVM = "29AAGCB1286Q000" + class ResPartner(models.Model): _inherit = 'res.partner' @@ -19,33 +27,206 @@ class ResPartner(models.Model): ('uin_holders', 'UIN Holders'), ], string="GST Treatment") - @api.onchange('company_type') - def onchange_company_type(self): - res = super().onchange_company_type() - if self.country_id and self.country_id.code == 'IN': - self.l10n_in_gst_treatment = (self.company_type == 'company') and 'regular' or 'consumer' + l10n_in_pan_entity_id = fields.Many2one( + comodel_name='l10n_in.pan.entity', + string="PAN", + ondelete='restrict', + help="PAN enables the department to link all transactions of the person with the department.\n" + "These transactions include taxpayments, TDS/TCS credits, returns of income/wealth/gift/FBT," + " specified transactions, correspondence, and so on.\n" + "Thus, PAN acts as an identifier for the person with the tax department." + ) + l10n_in_tan = fields.Char("TAN") + + display_pan_warning = fields.Boolean(string="Display pan warning", compute="_compute_display_pan_warning") + l10n_in_gst_state_warning = fields.Char(compute="_compute_l10n_in_gst_state_warning") + l10n_in_is_gst_registered_enabled = fields.Boolean(compute="_compute_l10n_in_gst_registered_and_status") + + # gstin_status related field + l10n_in_gstin_verified_status = fields.Boolean(string="GST Status", tracking=True) + l10n_in_gstin_verified_date = fields.Date(string="GSTIN Verified Date", tracking=True) + l10n_in_gstin_status_feature_enabled = fields.Boolean(compute="_compute_l10n_in_gst_registered_and_status") + + @api.depends('vat', 'state_id', 'country_id', 'fiscal_country_codes') + def _compute_l10n_in_gst_state_warning(self): + for partner in self: + if ( + "IN" in partner.fiscal_country_codes + and partner.check_vat_in(partner.vat) + ): + if partner.vat[:2] == "99": + partner.l10n_in_gst_state_warning = _( + "As per GSTN the country should be other than India, so it's recommended to" + ) + else: + state_id = self.env['res.country.state'].search([('l10n_in_tin', '=', partner.vat[:2])], limit=1) + if state_id and state_id != partner.state_id: + partner.l10n_in_gst_state_warning = _( + "As per GSTN the state should be %s, so it's recommended to", state_id.name + ) + else: + partner.l10n_in_gst_state_warning = False + else: + partner.l10n_in_gst_state_warning = False + + @api.depends('l10n_in_pan_entity_id') + def _compute_display_pan_warning(self): + for partner in self: + partner.display_pan_warning = partner.vat and partner.l10n_in_pan_entity_id and partner.l10n_in_pan_entity_id.name != partner.vat[2:12] + + @api.depends('company_id.l10n_in_is_gst_registered', 'company_id.l10n_in_gstin_status_feature') + def _compute_l10n_in_gst_registered_and_status(self): + for record in self: + company = record.company_id or self.env.company + record.l10n_in_is_gst_registered_enabled = company.l10n_in_is_gst_registered + record.l10n_in_gstin_status_feature_enabled = company.l10n_in_gstin_status_feature + + @api.onchange('vat') + def _onchange_l10n_in_gst_status(self): + """ + Reset GST Status Whenever the `vat` of partner changes + """ + for partner in self: + if partner.country_code == 'IN' and (partner.l10n_in_gstin_verified_status or partner.l10n_in_gstin_verified_date): + partner.l10n_in_gstin_verified_status = False + partner.l10n_in_gstin_verified_date = False + + @api.model_create_multi + def create(self, vals_list): + res = super().create(vals_list) + if 'import_file' in self.env.context: + return res + for partner in res.filtered(lambda p: p.country_code == 'IN' and p.vat and p.check_vat_in(p.vat)): + partner._set_l10n_in_pan_tan_from_vat() return res - @api.onchange('country_id') - def _onchange_country_id(self): - res = super()._onchange_country_id() - if self.country_id and self.country_id.code != 'IN': - self.l10n_in_gst_treatment = 'overseas' - elif self.country_id and self.country_id.code == 'IN': - self.l10n_in_gst_treatment = (self.company_type == 'company') and 'regular' or 'consumer' + def write(self, vals): + res = super().write(vals) + if 'import_file' in self.env.context: + return res + if vals.get('vat') or vals.get('country_id'): + for partner in self.filtered(lambda p: p.country_code == 'IN' and p.vat and p.check_vat_in(p.vat)): + partner._set_l10n_in_pan_tan_from_vat() return res + def _set_l10n_in_pan_tan_from_vat(self): + self.ensure_one() + identifier = self.vat[2:12].upper() + if pan.is_valid(identifier): + self.l10n_in_pan_entity_id = self._l10n_in_search_create_pan_entity_from_vat(self.vat).id + elif re.match(r'^[A-Z]{4}[0-9]{5}[A-Z]{1}$', identifier): + self.l10n_in_tan = identifier + + def _l10n_in_search_create_pan_entity_from_vat(self, vat): + pan_number = vat[2:12].upper() + pan_entity = self.env['l10n_in.pan.entity'].search([('name', '=', pan_number)], limit=1) + if not pan_entity: + context = clean_context(self.env.context) + pan_entity = self.env['l10n_in.pan.entity'].with_context(context).create({'name': pan_number}) + return pan_entity + + def action_l10n_in_verify_gstin_status(self): + self.ensure_one() + self.check_access('write') + if self.env.company.sudo().account_fiscal_country_id.code != 'IN': + raise UserError(_('You must be logged in an Indian company to use this feature')) + if not self.vat: + raise ValidationError(_("Please enter the GSTIN")) + if not self.env.company.l10n_in_gstin_status_feature: + raise ValidationError(_("This feature is not activated. Go to Settings to activate this feature.")) + is_production = self.env.company.sudo().l10n_in_edi_production_env + params = { + "gstin_to_search": self.vat, + "gstin": self.env.company.vat, + } + try: + response = self.env['iap.account']._l10n_in_connect_to_server( + is_production, + params, + '/iap/l10n_in_reports/1/public/search', + "l10n_in.endpoint" + ) + except AccessError: + raise UserError(_("Unable to connect with GST network")) + if response.get('error') and any(e.get('code') == 'no-credit' for e in response['error']): + return self.env["bus.bus"]._sendone(self.env.user.partner_id, "iap_notification", + { + "type": "no_credit", + "title": _("Not enough credits to check GSTIN status"), + "get_credits_url": self.env["iap.account"].get_credits_url(service_name=IAP_SERVICE_NAME), + }, + ) + gst_status = response.get('data', {}).get('sts', "") + if gst_status.casefold() == 'active': + l10n_in_gstin_verified_status = True + elif gst_status: + l10n_in_gstin_verified_status = False + date_from = response.get("data", {}).get("cxdt", '') + if date_from and re.search(r'\d', date_from): + message = _( + "GSTIN %(vat)s is %(status)s and Effective from %(date_from)s.", + vat=self.vat, + status=gst_status, + date_from=date_from, + ) + else: + message = _( + "GSTIN %(vat)s is %(status)s, effective date is not available.", + vat=self.vat, + status=gst_status + ) + if not is_production: + message += _(" Warning: You are currently in a test environment. The result is a dummy.") + self.message_post(body=message) + else: + _logger.info("GST status check error %s", response) + if response.get('error') and any(e.get('code') == 'SWEB_9035' for e in response['error']): + raise UserError( + _("The provided GSTIN is invalid. Please check the GSTIN and try again.") + ) + default_error_message = _( + "Something went wrong while fetching the GST status." + "Please Contact Support if the error persists with" + "Response: %(response)s", + response=response + ) + error_messages = [ + f"[{error.get('code') or _('Unknown')}] {error.get('message') or default_error_message}" + for error in response.get('error') + ] + raise UserError( + error_messages + and '\n'.join(error_messages) + or default_error_message + ) + self.write({ + "l10n_in_gstin_verified_status": l10n_in_gstin_verified_status, + "l10n_in_gstin_verified_date": fields.Date.today(), + }) + return { + "type": "ir.actions.client", + "tag": "display_notification", + "params": { + "type": "info", + "message": _("GSTIN Status Updated Successfully"), + "next": {"type": "ir.actions.act_window_close"}, + }, + } + @api.onchange('vat') def onchange_vat(self): if self.vat and self.check_vat_in(self.vat): + self.vat = self.vat.upper() state_id = self.env['res.country.state'].search([('l10n_in_tin', '=', self.vat[:2])], limit=1) if state_id: self.state_id = state_id + pan_entity = self.env['l10n_in.pan.entity'].search([('name', '=', self.vat[2:12])], limit=1) + if pan_entity: + self.l10n_in_pan_entity_id = pan_entity.id @api.model def _commercial_fields(self): - res = super()._commercial_fields() - return res + ['l10n_in_gst_treatment'] + return super()._commercial_fields() + ['l10n_in_gst_treatment', 'l10n_in_pan_entity_id', 'l10n_in_tan'] def check_vat_in(self, vat): """ @@ -53,6 +234,28 @@ class ResPartner(models.Model): but this is not a valid number as per the regular expression so TEST_GST_NUMBER is considered always valid """ - if vat == TEST_GST_NUMBER: + if vat in (TEST_GST_NUMBER, TEST_GST_NUMBER_BVM): return True return super().check_vat_in(vat) + + @api.model + def _l10n_in_get_partner_vals_by_vat(self, vat): + partner_data = self.enrich_by_gst(vat) + for fname in list(partner_data.keys()): + if fname not in self.env['res.partner']._fields: + partner_data.pop(fname, None) + partner_data.update({ + 'country_id': partner_data.get('country_id', {}).get('id'), + 'state_id': partner_data.get('state_id', {}).get('id'), + 'company_type': 'company', + 'l10n_in_gst_treatment': partner_data.get('l10n_in_gst_treatment', 'regular'), + }) + return partner_data + + def action_update_state_as_per_gstin(self): + self.ensure_one() + if self.check_vat_in(self.vat): + state_id = self.env['res.country.state'].search([('l10n_in_tin', '=', self.vat[:2])], limit=1) + self.state_id = state_id + if self.ref_company_ids: + self.ref_company_ids._update_l10n_in_fiscal_position() diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/template_in.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/template_in.py new file mode 100644 index 0000000..25c26f5 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/template_in.py @@ -0,0 +1,143 @@ +from odoo import Command, models +from odoo.addons.account.models.chart_template import template + + +class AccountChartTemplate(models.AbstractModel): + _inherit = 'account.chart.template' + + @template('in') + def _get_in_template_data(self): + return { + 'property_account_receivable_id': 'p10040', + 'property_account_payable_id': 'p11211', + 'code_digits': '6', + 'display_invoice_amount_total_words': True, + } + + @template('in', 'res.company') + def _get_in_res_company(self): + return { + self.env.company.id: { + 'account_fiscal_country_id': 'base.in', + 'bank_account_code_prefix': '1002', + 'cash_account_code_prefix': '1001', + 'transfer_account_code_prefix': '1008', + 'account_default_pos_receivable_account_id': 'p10041', + 'income_currency_exchange_account_id': 'p2013', + 'expense_currency_exchange_account_id': 'p2117', + 'account_journal_early_pay_discount_loss_account_id': 'p2132', + 'account_journal_early_pay_discount_gain_account_id': '2012', + 'fiscalyear_last_month': '3', + 'account_sale_tax_id': 'sgst_sale_5', + 'account_purchase_tax_id': 'sgst_purchase_5', + 'deferred_expense_account_id': 'p10084', + 'deferred_revenue_account_id': 'p10085', + 'expense_account_id': 'p2107', + 'income_account_id': 'p20011', + 'l10n_in_withholding_account_id': 'p100595', + 'tax_calculation_rounding_method': 'round_per_line', + }, + } + + @template('in', 'account.cash.rounding') + def _get_in_account_cash_rounding(self): + return { + 'l10n_in.cash_rounding_in_half_up': { + 'profit_account_id': 'p213202', + 'loss_account_id': 'p213201', + } + } + + @template('in', 'account.fiscal.position') + def _get_in_account_fiscal_position(self): + _ = self.env._ + company = self.env.company + state_ids = [Command.set(company.state_id.ids)] if company.state_id else False + intra_state_name = company.state_id and _("Within %s", company.state_id.name) or _("Intra State") + country_in_id = self.env.ref('base.in').id + state_specific = { + 'fiscal_position_in_intra_state': { + 'name': intra_state_name, + 'sequence': 1, + 'auto_apply': True, + 'state_ids': state_ids, + 'tax_ids': self._get_l10n_in_fiscal_tax_vals('fiscal_position_in_intra_state'), + 'country_id': country_in_id, + }, + 'fiscal_position_in_inter_state': { + 'name': _("Inter State"), + 'sequence': 2, + 'auto_apply': True, + 'country_group_id': 'l10n_in.inter_state_group', + 'tax_ids': self._get_l10n_in_fiscal_tax_vals('fiscal_position_in_inter_state'), + }, + } + if company.parent_id: + return { + self.company_xmlid(k): v + for k, v in state_specific.items() + } + return { + **state_specific, + 'fiscal_position_in_sez': { + 'name': _("Special Economic Zone (SEZ)"), + 'sequence': 3, + 'auto_apply': True, + 'state_ids': [Command.set(self.env.ref('l10n_in.state_in_oc').ids)], + 'country_id': country_in_id, + 'note': _("SUPPLY MEANT FOR EXPORT/SUPPLY TO SEZ UNIT OR SEZ DEVELOPER FOR AUTHORISED OPERATIONS ON PAYMENT OF INTEGRATED TAX."), + 'tax_ids': self._get_l10n_in_fiscal_tax_vals('fiscal_position_in_inter_state'), + }, + 'fiscal_position_in_export_sez_in': { + 'name': _("Export"), + 'sequence': 4, + 'auto_apply': True, + 'note': _("SUPPLY MEANT FOR EXPORT/SUPPLY TO SEZ UNIT OR SEZ DEVELOPER FOR AUTHORISED OPERATIONS ON PAYMENT OF INTEGRATED TAX."), + 'tax_ids': self._get_l10n_in_fiscal_tax_vals('fiscal_position_in_export_sez_in'), + }, + 'fiscal_position_in_lut_sez_1': { + 'name': _("SEZ - LUT (WOP)"), + 'sequence': 5, + 'state_ids': [Command.set(self.env.ref('l10n_in.state_in_oc').ids)], + 'country_id': country_in_id, + 'note': _("SUPPLY MEANT FOR EXPORT/SUPPLY TO SEZ UNIT OR SEZ DEVELOPER FOR AUTHORISED OPERATIONS UNDER BOND OR LETTER OF UNDERTAKING WITHOUT PAYMENT OF INTEGRATED TAX."), + 'tax_ids': self._get_l10n_in_fiscal_tax_vals('fiscal_position_in_lut_sez_1'), + }, + 'fiscal_position_in_lut_sez': { + 'name': _("Export - LUT (WOP)"), + 'sequence': 6, + 'note': _('SUPPLY MEANT FOR EXPORT/SUPPLY TO SEZ UNIT OR SEZ DEVELOPER FOR AUTHORISED OPERATIONS UNDER BOND OR LETTER OF UNDERTAKING WITHOUT PAYMENT OF INTEGRATED TAX.'), + 'tax_ids': self._get_l10n_in_fiscal_tax_vals('fiscal_position_in_lut_sez'), + }, + } + + def _get_l10n_in_fiscal_tax_vals(self, fiscal_position_xml_ids): + rates = [1, 2, 5, 12, 18, 28, 40] + taxes_xml_ids = [] + + if fiscal_position_xml_ids == 'fiscal_position_in_intra_state': + taxes_xml_ids = [f"sgst_{tax_type}_{rate}" for tax_type in ["sale", "purchase"] for rate in rates] + elif fiscal_position_xml_ids == 'fiscal_position_in_inter_state': + taxes_xml_ids = [f"igst_{tax_type}_{rate}" for tax_type in ["sale", "purchase"] for rate in rates] + elif fiscal_position_xml_ids == 'fiscal_position_in_export_sez_in': + taxes_xml_ids = [f"igst_sale_{rate}_sez_exp" for rate in rates] + [f"igst_purchase_{rate}" for rate in rates] + ['igst_sale_0_sez_exp'] + elif fiscal_position_xml_ids == 'fiscal_position_in_lut_sez': + taxes_xml_ids = [f"igst_sale_{rate}_sez_exp_lut" for rate in rates] + ['igst_sale_0_sez_exp_lut'] + elif fiscal_position_xml_ids == 'fiscal_position_in_lut_sez_1': + taxes_xml_ids = [f"igst_sale_{rate}_sez_lut" for rate in rates] + ['igst_sale_0_sez_lut'] + return [Command.set(taxes_xml_ids)] + + def _post_load_data(self, template_code, company, template_data): + super()._post_load_data(template_code, company, template_data) + if template_code == 'in': + company = company or self.env.company + company._update_l10n_in_is_gst_registered() + + # The COA (Chart of Accounts) data is loaded after the initial compute methods are called. + # During initial journal setup, the payment methods and accounts may not exist yet, + # causing the payment method lines to not be properly configured. + # We call these helper methods again in _post_load_data to ensure all payment method lines + # are correctly assigned once all COA data is fully available. + bank_journals = company.bank_journal_ids + bank_journals._update_payment_method_lines("inbound") + bank_journals._update_payment_method_lines("outbound") diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/uom_uom.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/uom_uom.py index b9b3fcc..4c352ff 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/uom_uom.py +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/uom_uom.py @@ -1,10 +1,7 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - from odoo import fields, models -class UoM(models.Model): +class UomUom(models.Model): _inherit = "uom.uom" # As per GST Rules you need to Specify UQC given by GST. diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/report/audit_trail_report_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/report/audit_trail_report_views.xml deleted file mode 100644 index 70d1864..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/report/audit_trail_report_views.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - mail.message.tree.inherit.audit.log - mail.message - 99 - - - - - - - - - - - - - mail.message.search - mail.message - 99 - - - - - - - - - - - - - - - Audit trail - mail.message - - tree - [ - ('model', '=', 'account.move'), - ('message_type', '=', 'notification'), - ('l10n_in_audit_log_account_move_id', '!=', False), - ] - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/security/ir.model.access.csv b/odoo-bringout-oca-ocb-l10n_in/l10n_in/security/ir.model.access.csv index 08319ca..fd91271 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/security/ir.model.access.csv +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/security/ir.model.access.csv @@ -1,3 +1,7 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_port_code_user,port.code.user,model_l10n_in_port_code,base.group_user,1,0,0,0 access_port_code_account_manager,port.code.user,model_l10n_in_port_code,account.group_account_manager,1,1,1,1 +l10n_in.access_l10n_in_withhold_wizard,access_l10n_in_withhold_wizard,l10n_in.model_l10n_in_withhold_wizard,account.group_account_invoice,1,1,1,1 +access_l10n_in_section_alert_account_readonly,l10n_in.section.alert.account.readonly,model_l10n_in_section_alert,account.group_account_readonly,1,0,0,0 +access_l10n_in_section_alert_account_manager,l10n_in.section.alert.account.manager,model_l10n_in_section_alert,account.group_account_manager,1,1,1,1 +access_l10n_in_pan_entity,l10n_in.pan.entity,model_l10n_in_pan_entity,base.group_user,1,1,1,1 diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/security/l10n_in_security.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/security/l10n_in_security.xml index f474eb9..b86c0be 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/security/l10n_in_security.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/security/l10n_in_security.xml @@ -2,6 +2,5 @@ Manage Reseller(E-Commerce) - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/demo/in_invoice_demo_1.pdf b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/demo/in_invoice_demo_1.pdf new file mode 100644 index 0000000..a170e5a Binary files /dev/null and b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/demo/in_invoice_demo_1.pdf differ diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/demo/in_invoice_demo_2.pdf b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/demo/in_invoice_demo_2.pdf new file mode 100644 index 0000000..2e88b8e Binary files /dev/null and b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/demo/in_invoice_demo_2.pdf differ diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/description/icon.png b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/description/icon.png deleted file mode 100644 index f02fcea..0000000 Binary files a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/description/icon.png and /dev/null differ diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/description/icon.svg b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/description/icon.svg deleted file mode 100644 index 332989e..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/description/icon.svg +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js new file mode 100644 index 0000000..1c0a4da --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.js @@ -0,0 +1,116 @@ +import { AutoComplete } from "@web/core/autocomplete/autocomplete"; +import { useChildRef } from "@web/core/utils/hooks"; +import { registry } from "@web/core/registry"; +import { _t } from "@web/core/l10n/translation"; +import { CharField, charField } from "@web/views/fields/char/char_field"; +import { useInputField } from "@web/views/fields/input_field_hook"; + +const l10N_IN_HSN_SERVICE_URL = "https://services.gst.gov.in/commonservices/hsn/search/qsearch"; + +export class L10nInHsnAutoComplete extends CharField { + static template = "l10n_in.hsnAutoComplete"; + static components = { + ...CharField.components, + AutoComplete, + }; + static props = { + ...CharField.props, + l10nInHsnDescription: { type: String, optional: true }, + }; + + setup() { + super.setup(); + this.inputRef = useChildRef(); + useInputField({ + getValue: () => this.props.record.data[this.props.name] || "", + parse: (v) => this.parse(v), + ref: this.inputRef, + }); + } + + async getHsnSuggestions(value) { + const suggestions = []; + const onlyDigits = !isNaN(value) && value.indexOf(" ") < 0; + const params = [ + { type: "byCode", category: "null" }, // For code + { type: "byDesc", category: "P" }, // For products + { type: "byDesc", category: "S" }, // For services + ]; + const filteredParams = onlyDigits ? [params[0]] : params.slice(1); + try { + await Promise.all( + filteredParams.map(async (param) => { + const controller = new AbortController(); + const signal = controller.signal; + setTimeout(() => controller.abort(), 5000); + const res = await fetch( + `${l10N_IN_HSN_SERVICE_URL}?inputText=${value}&selectedType=${param.type}&category=${param.category}`, + { signal } + ); + if (!res.ok) { + throw new Error(res.statusText); + } + const resData = await res.json(); + for (const item of resData.data || []) { + if (item.c.length > 3) { + suggestions.push({ + data: { + description: item.n, + }, + label: item.c, + onSelect: () => this.selectSuggestion(item.c, item.n), + }); + } + } + }) + ); + } catch (e) { + suggestions.push({ + label: _t("Could not contact API"), + }); + console.warn("HSN Autocomplete API error:", e); + } + return suggestions; + } + + get sources() { + return [ + { + options: async (request) => { + if (request?.length > 2) { + return await this.getHsnSuggestions(request); + } else { + return []; + } + }, + optionSlot: "option", + placeholder: _t("Searching..."), + }, + ]; + } + + selectSuggestion(label, description) { + const data = { [this.props.name]: label }; + if (this.props.l10nInHsnDescription) { + data[this.props.l10nInHsnDescription] = description; + } + setTimeout(() => this.props.record.update(data)); + } +} + +export const l10nInHsnAutoComplete = { + ...charField, + component: L10nInHsnAutoComplete, + supportedOptions: [ + { + label: _t("hsn description field"), + name: "hsn_description_field", + type: "string", + }, + ], + extractProps: ({ options }) => ({ + l10nInHsnDescription: options.hsn_description_field, + }), +}; + +registry.category("fields").add("l10n_in_hsn_autocomplete", l10nInHsnAutoComplete); diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.xml new file mode 100644 index 0000000..91af695 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/hsn_autocomplete/hsn_autocomplete.xml @@ -0,0 +1,18 @@ + + + + + +
    + +
    +
    + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/tests_shared_js_python/tests_shared_js_python.js b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/tests_shared_js_python/tests_shared_js_python.js new file mode 100644 index 0000000..67b9be8 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/components/tests_shared_js_python/tests_shared_js_python.js @@ -0,0 +1,14 @@ +import { patch } from "@web/core/utils/patch"; +import { TestsSharedJsPython } from "@account/components/tests_shared_js_python/tests_shared_js_python"; +import { accountTaxHelpers } from "@account/helpers/account_tax"; + +patch(TestsSharedJsPython.prototype, { + /** override **/ + processTest(params){ + if (params.test === "l10n_in_hsn_summary") { + const document = this.populateDocument(params.document); + return {'hsn': accountTaxHelpers.l10n_in_get_hsn_summary_table(document.lines, params.display_uom)}; + } + return super.processTest(...arguments); + }, +}); diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/helpers/hsn_summary.js b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/helpers/hsn_summary.js new file mode 100644 index 0000000..f01e1c9 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/helpers/hsn_summary.js @@ -0,0 +1,99 @@ +import { patch } from "@web/core/utils/patch"; + +import { accountTaxHelpers } from "@account/helpers/account_tax"; + +patch(accountTaxHelpers, { + /** + * [!] Mirror of the same method in account_tax.py. + * PLZ KEEP BOTH METHODS CONSISTENT WITH EACH OTHERS. + */ + l10n_in_get_hsn_summary_table(base_lines, display_uom) { + const l10n_in_gst_tax_types = new Set(); + const items_map = {}; + + function get_base_line_grouping_key(base_line) { + const unique_taxes_data = new Set( + base_line.tax_details.taxes_data + .filter(tax_data => ['igst', 'cgst', 'sgst'].includes(tax_data.tax.l10n_in_gst_tax_type)) + .map(tax_data => tax_data.tax) + ); + const rate = [...unique_taxes_data].reduce((sum, tax) => sum + tax.amount, 0); + + return { + l10n_in_hsn_code: base_line.l10n_in_hsn_code, + uom_name: base_line.product_uom_id.name, + rate: rate, + }; + } + + // quantity / amount_untaxed. + for (const base_line of base_lines) { + const raw_key = get_base_line_grouping_key(base_line); + if (!raw_key.l10n_in_hsn_code) { + continue; + } + + const key = JSON.stringify(raw_key); + if (!(key in items_map)) { + items_map[key] = { + key: raw_key, + quantity: 0.0, + amount_untaxed: 0.0, + tax_amount_igst: 0.0, + tax_amount_cgst: 0.0, + tax_amount_sgst: 0.0, + tax_amount_cess: 0.0, + } + } + + const item = items_map[key]; + item.quantity += base_line.quantity; + item.amount_untaxed += ( + base_line.tax_details.total_excluded_currency + + base_line.tax_details.delta_total_excluded_currency + ); + } + + // Tax amounts. + function grouping_function(base_line, tax_data) { + return tax_data ? { + ...get_base_line_grouping_key(base_line), + l10n_in_gst_tax_type: tax_data.tax.l10n_in_gst_tax_type, + } : null; + } + + const base_lines_aggregated_values = this.aggregate_base_lines_tax_details(base_lines, grouping_function); + const values_per_grouping_key = this.aggregate_base_lines_aggregated_values(base_lines_aggregated_values); + for (const values of Object.values(values_per_grouping_key)) { + const grouping_key = values.grouping_key; + if (!grouping_key || !grouping_key.l10n_in_hsn_code || !grouping_key.l10n_in_gst_tax_type) { + continue; + } + + const key = JSON.stringify({ + l10n_in_hsn_code: grouping_key.l10n_in_hsn_code, + uom_name: grouping_key.uom_name, + rate: grouping_key.rate, + }); + const item = items_map[key]; + const l10n_in_gst_tax_type = grouping_key.l10n_in_gst_tax_type; + item[`tax_amount_${l10n_in_gst_tax_type}`] += values.tax_amount_currency; + l10n_in_gst_tax_types.add(l10n_in_gst_tax_type); + } + + const items = []; + for (const values of Object.values(items_map)) { + const item = {...values.key, ...values}; + delete item.key; + items.push(item); + } + return { + has_igst: l10n_in_gst_tax_types.has("igst"), + has_gst: l10n_in_gst_tax_types.has("cgst") || l10n_in_gst_tax_types.has("sgst"), + has_cess: l10n_in_gst_tax_types.has("cess"), + nb_columns: 5 + l10n_in_gst_tax_types.size, + display_uom: display_uom, + items: items, + }; + } +}); diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Google_Pay-Logo.svg b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Google_Pay-Logo.svg new file mode 100644 index 0000000..0d0de6b --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Google_Pay-Logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Paytm-Logo.svg b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Paytm-Logo.svg new file mode 100644 index 0000000..7272306 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Paytm-Logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/PhonePe-Logo.svg b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/PhonePe-Logo.svg new file mode 100644 index 0000000..0cfcefc --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/PhonePe-Logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Upi-logo.svg b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Upi-logo.svg new file mode 100644 index 0000000..a390910 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/static/src/img/Upi-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/__init__.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/__init__.py new file mode 100644 index 0000000..a22e4de --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/__init__.py @@ -0,0 +1,8 @@ +from . import common +from . import test_hsn_summary +from . import test_partner_details_on_invoice +from . import test_l10n_in_fiscal_position +from . import test_check_status +from . import test_tds_tcs_alert +from . import test_gstr_section +from . import test_invoice_label diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/common.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/common.py new file mode 100644 index 0000000..a91842a --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/common.py @@ -0,0 +1,271 @@ +from datetime import date + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo import Command + + +class L10nInTestInvoicingCommon(AccountTestInvoicingCommon): + @classmethod + @AccountTestInvoicingCommon.setup_country('in') + def setUpClass(cls): + super().setUpClass() + + cls.maxDiff = None + cls.test_date = date(2023, 5, 20) + + # === Countries === # + cls.country_in = cls.env.ref('base.in') + cls.country_us = cls.env.ref('base.us') + + # === States === # + cls.state_in_gj = cls.env.ref('base.state_in_gj') + cls.state_in_mh = cls.env.ref('base.state_in_mh') + cls.state_in_hp = cls.env.ref('base.state_in_hp') + + # === Companies === # + cls.default_company = cls.company_data['company'] + cls.default_company.write({ + 'name': "Default Company", + 'state_id': cls.state_in_gj.id, + 'vat': "24AAGCC7144L6ZE", + 'street': "Khodiyar Chowk", + 'street2': "Sala Number 3", + 'city': "Amreli", + 'zip': "365220", + 'l10n_in_is_gst_registered': True, + 'l10n_in_tds_feature': True, + 'l10n_in_tcs_feature': True, + }) + + cls.outside_in_company = cls.env['res.company'].create({ + 'name': 'Outside India Company', + 'country_id': cls.country_us.id, + }) + + cls.user.write({ + 'company_ids': [cls.default_company.id, cls.outside_in_company.id], + 'company_id': cls.default_company.id, + }) + + # === Partners === # + cls.partner_a.write({ + 'name': "Partner Intra State", + 'vat': '24ABCPM8965E1ZE', + 'state_id': cls.default_company.state_id.id, + 'country_id': cls.country_in.id, + 'street': "Karansinhji Rd", + 'street2': "Karanpara", + 'city': "Rajkot", + 'zip': "360001", + }) + + cls.partner_b.write({ + 'vat': '27DJMPM8965E1ZE', + 'state_id': cls.state_in_mh.id, + 'country_id': cls.country_in.id, + 'street': "Sangeet Samrat Naushad Ali Rd", + 'city': "Mumbai", + 'zip': "400052", + }) + + cls.partner_foreign = cls.env['res.partner'].create({ + 'name': "Foreign Partner", + 'country_id': cls.country_us.id, + 'state_id': cls.env.ref("base.state_us_1").id, + 'street': "351 Horner Chapel Rd", + 'city': "Peebles", + 'zip': "45660", + }) + + cls.partner_foreign_no_state = cls.env['res.partner'].create({ + 'name': "Foreign Partner Without State", + 'country_id': cls.country_us.id, + # No state_id defined + }) + cls.sez_partner = cls.env['res.partner'].create({ + 'name': 'SEZ Partner', + 'vat': '36AAAAA1234AAZA', + 'l10n_in_gst_treatment': 'special_economic_zone', + 'street': 'Block no. 402', + 'city': 'Some city', + 'zip': '500002', + 'state_id': cls.env.ref('base.state_in_gj').id, + 'country_id': cls.env.ref('base.in').id, + }) + + # === Taxes === # + AccountChartTemplate = cls.env['account.chart.template'] + cls.sgst_sale_5 = AccountChartTemplate.ref('sgst_sale_5') + cls.sgst_purchase_5 = AccountChartTemplate.ref('sgst_purchase_5') + cls.igst_sale_5 = AccountChartTemplate.ref('igst_sale_5') + cls.igst_sale_18 = AccountChartTemplate.ref('igst_sale_18') + cls.sgst_sale_18 = AccountChartTemplate.ref('sgst_sale_18') + cls.igst_sale_18_rcm = AccountChartTemplate.ref('igst_sale_18_rc') + cls.igst_sale_18_sez_lut = AccountChartTemplate.ref('igst_sale_18_sez_lut') + cls.igst_sale_18_sez_exp_lut = AccountChartTemplate.ref('igst_sale_18_sez_exp_lut') + cls.igst_sale_18_sez_exp = AccountChartTemplate.ref('igst_sale_18_sez_exp') + cls.igst_sale_18_sez_exp_inc = cls.igst_sale_18_sez_exp.copy({'price_include_override': 'tax_included'}) + cls.gst_with_cess = ( + AccountChartTemplate.ref("sgst_sale_12") + + AccountChartTemplate.ref("cess_5_plus_1591_sale") + ) + cls.exempt = AccountChartTemplate.ref('exempt_sale') + + # === Products === # + cls.product_a.write({ + "l10n_in_hsn_code": "111111", + 'taxes_id': cls.sgst_sale_5, + 'supplier_taxes_id': cls.sgst_purchase_5, + }) + + cls.product_b.write({ + "l10n_in_hsn_code": "111111", + 'uom_id': cls.env.ref('uom.product_uom_unit').id, + 'lst_price': 1000.0, + 'standard_price': 1000.0, + 'taxes_id': cls.sgst_sale_5.ids, + 'supplier_taxes_id': cls.sgst_purchase_5.ids, + }) + cls.product_with_cess = cls.env["product.product"].create({ + "name": "product_with_cess", + "uom_id": cls.env.ref("uom.product_uom_unit").id, + "lst_price": 1000.0, + "standard_price": 800.0, + "property_account_income_id": cls.company_data["default_account_revenue"].id, + "property_account_expense_id": cls.company_data["default_account_expense"].id, + "taxes_id": [Command.set(cls.gst_with_cess.ids)], + "supplier_taxes_id": [Command.set(cls.sgst_purchase_5.ids)], + "l10n_in_hsn_code": "333333", + }) + + # === Fiscal Positions === # + cls.fp_in_intra_state = cls.env["account.chart.template"].ref('fiscal_position_in_intra_state') + cls.fp_in_inter_state = cls.env["account.chart.template"].ref('fiscal_position_in_inter_state') + cls.fp_in_export = cls.env["account.chart.template"].ref('fiscal_position_in_export_sez_in') + + # === Invoices === # + cls.invoice_a = cls.init_invoice( + move_type='out_invoice', + partner=cls.partner_a, + amounts=[110, 500], + taxes=cls.igst_sale_18, + ) + + cls.invoice_b = cls.init_invoice( + move_type='out_invoice', + partner=cls.partner_b, + amounts=[250, 600], + taxes=cls.igst_sale_18, + ) + + cls.invoice_c = cls.init_invoice( + move_type='out_invoice', + partner=cls.partner_foreign, + amounts=[300, 740], + taxes=cls.igst_sale_18, + ) + + cls.invoice_d = cls.init_invoice( + move_type='out_invoice', + partner=cls.partner_foreign_no_state, + amounts=[100, 200], + taxes=cls.igst_sale_18, + ) + + cls.invoice_with_rcm = cls.init_invoice( + "out_invoice", + partner=cls.partner_b, + products=cls.product_a, + taxes=cls.igst_sale_18_rcm, + ) + + cls.invoice_with_sez_lut = cls.init_invoice( + "out_invoice", + partner=cls.sez_partner, + products=cls.product_a, + taxes=cls.igst_sale_18_sez_lut, + ) + + cls.invoice_with_sez_without_lut = cls.init_invoice( + "out_invoice", + partner=cls.sez_partner, + products=cls.product_a, + taxes=cls.igst_sale_18, + ) + + cls.invoice_with_export_lut = cls.init_invoice( + "out_invoice", + partner=cls.partner_foreign, + products=cls.product_a, + taxes=cls.igst_sale_18_sez_exp_lut, + ) + + cls.invoice_with_export_without_lut = cls.init_invoice( + "out_invoice", + partner=cls.partner_foreign, + products=cls.product_a, + taxes=cls.igst_sale_18_sez_exp, + ) + cls.invoice_with_export_without_lut_inc = cls.init_invoice( + "out_invoice", + partner=cls.partner_foreign, + products=cls.product_a, + taxes=cls.igst_sale_18_sez_exp_inc, + ) + + @classmethod + def _set_vals_and_post(cls, move, ref=None, line_vals=None, post=True, irn=None): + if ref: + move.ref = ref + if irn: + move.l10n_in_irn_number = irn + + if line_vals: + move.write({'invoice_line_ids': [Command.update(line.id, line_vals) for line in move.line_ids]}) + + if post: + move.action_post() + return move + + @classmethod + def _init_inv(cls, move_type='out_invoice', company=None, ref=None, partner=None, taxes=None, invoice_date=None, products=None, line_vals=None, post=True, irn=None): + return cls._set_vals_and_post( + move=cls.init_invoice( + move_type, + products=products or cls.product_a, + invoice_date=invoice_date or cls.test_date, + taxes=taxes, + company=company or cls.default_company, + partner=partner, + ), + ref=ref, + irn=irn, + line_vals=line_vals, + post=post + ) + + @classmethod + def _create_credit_note(cls, inv, ref=None, credit_note_date=None, line_vals=None, post=True): + move = inv._reverse_moves() + move.invoice_date = credit_note_date or cls.test_date + + return cls._set_vals_and_post( + move=move, + ref=ref, + line_vals=line_vals, + post=post + ) + + @classmethod + def _create_debit_note(cls, inv, ref=None, debit_note_date=None, line_vals=None): + move_debit_note_wiz = cls.env['account.debit.note'].with_context( + active_model="account.move", + active_ids=inv.ids + ).create({ + 'date': debit_note_date or cls.test_date, + 'reason': 'no reason', + 'copy_lines': True, + }) + move_debit_note_wiz.create_debit() + + return cls._set_vals_and_post(move=inv.debit_note_ids[0], ref=ref, line_vals=line_vals) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_check_status.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_check_status.py new file mode 100644 index 0000000..c790258 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_check_status.py @@ -0,0 +1,87 @@ +from unittest.mock import patch +from freezegun import freeze_time + +from odoo.addons.l10n_in.models.iap_account import IapAccount +from odoo.tests.common import TransactionCase, tagged +from odoo.exceptions import UserError +from odoo.tools import mute_logger +from datetime import date + + +@tagged('post_install_l10n', 'post_install', '-at_install') +class TestGSTStatusFeature(TransactionCase): + def setUp(self): + self.partner1 = self.env["res.partner"].create( + {"name": "Active GSTIN", "vat": "36AAACM4154G1ZO"} + ) + self.partner2 = self.env["res.partner"].create( + {"name": "Cancelled GSTIN", "vat": "19AABCT1332L2ZD"} + ) + self.partner3 = self.env["res.partner"].create( + {"name": "Invalid GSTIN", "vat": "19AACCT6304M1ZB"} + ) + self.partner4 = self.env["res.partner"].create( + {"name": "No Records GSTIN", "vat": "19AACCT6304M1DB"} + ) + self.partner5 = self.env["res.partner"].create( + { + "name": "Partner Vat Reset", + "vat": "36AAACM4154G1ZO", + "country_id": self.env.ref('base.in').id, + "l10n_in_gstin_verified_status": "active", + "l10n_in_gstin_verified_date": "2024-06-01", + } + ) + self.mock_responses = { + "active": { + "data": {"sts": "Active"} + }, + "cancelled": { + "data": {"sts": "Cancelled"} + }, + "invalid": { + "error": [{"code": "SWEB_9035", "message": "Invalid GSTIN / UID"}], + }, + "no_records": { + "error": [{"code": "FO8000", "message": "No records found for the provided GSTIN."}], + }, + } + self.env.company.l10n_in_gstin_status_feature = True + self.env.company.account_fiscal_country_id = self.env.ref("base.in") + + @freeze_time('2024-05-20') + @mute_logger('odoo.addons.l10n_in.models.res_partner') + def check_gstin_status(self, partner, expected_status, mock_response, raises_exception=False): + with patch.object(IapAccount, "_l10n_in_connect_to_server", return_value=mock_response): + if raises_exception: + with self.assertRaises(UserError): + partner.action_l10n_in_verify_gstin_status() + else: + partner.action_l10n_in_verify_gstin_status() + self.assertEqual(partner.l10n_in_gstin_verified_status, expected_status) + self.assertEqual(partner.l10n_in_gstin_verified_date, date(2024, 5, 20)) + + def test_gstin_status(self): + """Test GSTIN status for various cases""" + self.check_gstin_status( + self.partner1, + expected_status=True, + mock_response=self.mock_responses["active"] + ) + self.check_gstin_status( + self.partner2, + expected_status=False, + mock_response=self.mock_responses["cancelled"] + ) + self.check_gstin_status( + self.partner3, + expected_status=False, + raises_exception=True, + mock_response=self.mock_responses["invalid"], + ) + self.check_gstin_status( + self.partner4, + expected_status=False, + raises_exception=True, + mock_response=self.mock_responses["no_records"], + ) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_gstr_section.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_gstr_section.py new file mode 100644 index 0000000..5d3c052 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_gstr_section.py @@ -0,0 +1,124 @@ +from datetime import date + +from odoo import Command +from odoo.addons.l10n_in.tests.common import L10nInTestInvoicingCommon +from odoo.tests import tagged + +TEST_DATE = date(2025, 6, 8) + + +@tagged('post_install_l10n', 'post_install', '-at_install') +class TestGstrSection(L10nInTestInvoicingCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls.partner_b.l10n_in_gst_treatment = "regular" + cls.partner_foreign.l10n_in_gst_treatment = 'overseas' + cls.sez_partner = cls.partner_a.copy({"l10n_in_gst_treatment": "special_economic_zone"}) + cls.large_unregistered_partner = cls.partner_a.copy({"state_id": cls.state_in_mh.id, "vat": None, "l10n_in_gst_treatment": "unregistered"}) + + ChartTemplate = cls.env['account.chart.template'] + cls.nil_rated_tax = ChartTemplate.ref('nil_rated_sale') + cls.igst_lut_sale_28_sez = ChartTemplate.ref('igst_sale_28_sez_lut') + cls.igst_rc_sale_18 = ChartTemplate.ref('igst_sale_18_rc') + cls.igst_exp_sale_18 = ChartTemplate.ref('igst_sale_18_sez_exp') + + def test_gstr_sections(self): + def assert_line_sections(lines, expected_sections): + for line in lines.filtered(lambda l: l.display_type in ('product', 'tax')): + if line.display_type == 'product': + tax_types = {tax.l10n_in_tax_type for tax in line.tax_ids} + matched = tax_types & expected_sections.keys() + if matched: + expected = expected_sections[matched.pop()] + else: + expected = expected_sections.get('with_gst_tag') + else: # tax line + expected = expected_sections['with_gst_tag'] if line.tax_tag_ids else expected_sections['no_tag'] + self.assertEqual(line.l10n_in_gstr_section, expected) + + # SEZ without payment with Nil Rated + sez_invoice = self._init_inv( + partner=self.sez_partner, + taxes=self.igst_lut_sale_28_sez, + line_vals={'price_unit': 1000, 'quantity': 1}, + post=False, + invoice_date=TEST_DATE, + ) + sez_invoice.write({ + 'invoice_line_ids': [Command.create({ + 'product_id': self.product_b.id, + 'account_id': sez_invoice.invoice_line_ids[0].account_id.id, + 'price_unit': 500, + 'quantity': 1, + 'tax_ids': [(6, 0, [self.nil_rated_tax.id])], + })], + }) + sez_invoice.action_post() + assert_line_sections(sez_invoice.line_ids, { + 'with_gst_tag': 'sale_sez_wop', + 'nil_rated': 'sale_nil_rated', + 'no_tag': 'sale_out_of_scope', + }) + + sez_credit_note = self._create_credit_note(inv=sez_invoice) + assert_line_sections(sez_credit_note.line_ids, { + 'with_gst_tag': 'sale_cdnr_sez_wop', + 'nil_rated': 'sale_nil_rated', + 'no_tag': 'sale_out_of_scope', + }) + + # Export with payment + exp_invoice = self._init_inv( + partner=self.partner_foreign, + taxes=self.igst_exp_sale_18, + line_vals={'price_unit': 3000, 'quantity': 1}, + invoice_date=TEST_DATE, + ) + assert_line_sections(exp_invoice.line_ids, { + 'with_gst_tag': 'sale_exp_wp', + 'no_tag': 'sale_out_of_scope', + }) + + exp_credit_note = self._create_credit_note(inv=exp_invoice) + assert_line_sections(exp_credit_note.line_ids, { + 'with_gst_tag': 'sale_cdnur_exp_wp', + 'no_tag': 'sale_out_of_scope', + }) + + # B2B RCM + b2b_rcm_invoice = self._init_inv( + partner=self.partner_b, + taxes=self.igst_rc_sale_18, + line_vals={'price_unit': 1000, 'quantity': 1}, + invoice_date=TEST_DATE, + ) + assert_line_sections(b2b_rcm_invoice.line_ids, { + 'with_gst_tag': 'sale_b2b_rcm', + 'no_tag': 'sale_out_of_scope', + }) + + b2b_rcm_credit_note = self._create_credit_note(inv=b2b_rcm_invoice) + assert_line_sections(b2b_rcm_credit_note.line_ids, { + 'with_gst_tag': 'sale_cdnr_rcm', + 'no_tag': 'sale_out_of_scope', + }) + + # B2CL + b2cl_invoice = self._init_inv( + partner=self.large_unregistered_partner, + taxes=self.igst_sale_18, + line_vals={'price_unit': 220000, 'quantity': 1}, + invoice_date=TEST_DATE, + ) + assert_line_sections(b2cl_invoice.line_ids, { + 'with_gst_tag': 'sale_b2cl', + 'no_tag': 'sale_out_of_scope', + }) + + b2cl_credit_note = self._create_credit_note(inv=b2cl_invoice, line_vals={'quantity': 0.5}) + assert_line_sections(b2cl_credit_note.line_ids, { + 'with_gst_tag': 'sale_cdnur_b2cl', + 'no_tag': 'sale_out_of_scope', + }) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_hsn_summary.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_hsn_summary.py new file mode 100644 index 0000000..8ecc8bf --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_hsn_summary.py @@ -0,0 +1,770 @@ +from odoo import Command +from odoo.addons.account.tests.common import TestTaxCommon +from odoo.tests import tagged + + +@tagged('post_install', '-at_install', 'post_install_l10n') +class TestL10nInHSNSummary(TestTaxCommon): + + @classmethod + @TestTaxCommon.setup_country('in') + def setUpClass(cls): + super().setUpClass() + + cls.company_data['company'].write({ + 'l10n_in_is_gst_registered': True, + }) + + cls.test_hsn_code_1 = '1234' + cls.test_hsn_code_2 = '4321' + + cls.uom_unit = cls.env.ref('uom.product_uom_unit') + cls.uom_dozen = cls.env.ref('uom.product_uom_dozen') + + cls.product_a.l10n_in_hsn_code = cls.test_hsn_code_1 + cls.product_b.l10n_in_hsn_code = cls.test_hsn_code_2 + cls.product_c = cls.env['product.product'].create({ + 'name': 'product_c', + 'l10n_in_hsn_code': cls.test_hsn_code_1, + 'uom_id': cls.env.ref('uom.product_uom_unit').id, + 'lst_price': 1000.0, + 'property_account_income_id': cls.company_data['default_account_revenue'].id, + }) + + ChartTemplate = cls.env['account.chart.template'] + cls.gst_5 = ChartTemplate.ref('sgst_sale_5') + cls.gst_18 = ChartTemplate.ref('sgst_sale_18') + cls.igst_5 = ChartTemplate.ref('igst_sale_5') + cls.igst_18 = ChartTemplate.ref('igst_sale_18') + cls.cess_5_plus_1591 = ChartTemplate.ref('cess_5_plus_1591_sale') + cls.nil_rated = ChartTemplate.ref('nil_rated_sale') + cls.exempt_0 = ChartTemplate.ref('exempt_sale') + cls.igst_18_rc = ChartTemplate.ref('igst_sale_18_rc') + + def _jsonify_tax(self, tax): + # EXTENDS 'account. + values = super()._jsonify_tax(tax) + values['l10n_in_gst_tax_type'] = tax.l10n_in_gst_tax_type + return values + + def _jsonify_document_line(self, document, index, line): + # EXTENDS 'account. + values = super()._jsonify_document_line(document, index, line) + values['l10n_in_hsn_code'] = line['l10n_in_hsn_code'] + return values + + def convert_base_line_to_invoice_line(self, document, base_line): + # EXTENDS 'account. + values = super().convert_base_line_to_invoice_line(document, base_line) + values['l10n_in_hsn_code'] = base_line['l10n_in_hsn_code'] + return values + + # ------------------------------------------------------------------------- + # l10n_in_hsn_summary + # ------------------------------------------------------------------------- + + def _assert_sub_test_l10n_in_hsn_summary(self, results, expected_values): + self.assertEqual( + {k: len(v) if k == 'items' else v for k, v in results['hsn'].items()}, + {k: len(v) if k == 'items' else v for k, v in expected_values.items()}, + ) + self.assertEqual(len(results['hsn']['items']), len(expected_values['items'])) + for item, expected_item in zip(results['hsn']['items'], expected_values['items']): + self.assertDictEqual(item, expected_item) + + def _create_py_sub_test_l10n_in_hsn_summary(self, document, display_uom): + return { + 'hsn': self.env['account.tax']._l10n_in_get_hsn_summary_table(document['lines'], display_uom), + } + + def _create_js_sub_test_l10n_in_hsn_summary(self, document, display_uom): + return { + 'test': 'l10n_in_hsn_summary', + 'document': self._jsonify_document(document), + 'display_uom': display_uom, + } + + def assert_l10n_in_hsn_summary( + self, + document, + expected_values, + display_uom=False, + ): + self._create_assert_test( + expected_values, + self._create_py_sub_test_l10n_in_hsn_summary, + self._create_js_sub_test_l10n_in_hsn_summary, + self._assert_sub_test_l10n_in_hsn_summary, + document, + display_uom, + ) + + # ------------------------------------------------------------------------- + # invoice l10n_in_hsn_summary + # ------------------------------------------------------------------------- + + def assert_invoice_l10n_in_hsn_summary(self, invoice, expected_values): + results = {'hsn': { + **invoice._l10n_in_get_hsn_summary_table(), + # 'display_uom' is just checking if the user has the uom group. It's irrelevant to test it. + 'display_uom': expected_values['display_uom'], + }} + self._assert_sub_test_l10n_in_hsn_summary(results, expected_values) + + # ------------------------------------------------------------------------- + # Tests + # ------------------------------------------------------------------------- + + def _test_l10n_in_hsn_summary_1(self): + """ Test GST/IGST taxes. """ + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 600.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 600.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + ])) + expected_values = { + 'has_igst': False, + 'has_gst': True, + 'has_cess': False, + 'nb_columns': 7, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 8.0, + 'uom_name': self.uom_unit.name, + 'rate': 5.0, + 'amount_untaxed': 2300.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 57.5, + 'tax_amount_sgst': 57.5, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 8.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 2300.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 207.0, + 'tax_amount_sgst': 207.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 1, document, expected_values + + # Another UOM on the second line. + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 12000.0, 'product_uom_id': self.uom_dozen, 'tax_ids': self.gst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 600.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + ])) + expected_values = { + 'has_igst': False, + 'has_gst': True, + 'has_cess': False, + 'nb_columns': 7, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 7.0, + 'uom_name': self.uom_unit.name, + 'rate': 5.0, + 'amount_untaxed': 1700.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 42.5, + 'tax_amount_sgst': 42.5, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_dozen.name, + 'rate': 5.0, + 'amount_untaxed': 12000.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 300.0, + 'tax_amount_sgst': 300.0, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 8.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 2300.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 207.0, + 'tax_amount_sgst': 207.0, + 'tax_amount_cess': 0.0, + } + ] + } + yield 2, document, expected_values + + # Change GST 5% taxes to IGST. + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 12000.0, 'product_uom_id': self.uom_dozen, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 600.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + ])) + expected_values = { + 'has_igst': True, + 'has_gst': True, + 'has_cess': False, + 'nb_columns': 8, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 7.0, + 'uom_name': self.uom_unit.name, + 'rate': 5.0, + 'amount_untaxed': 1700.0, + 'tax_amount_igst': 85.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_dozen.name, + 'rate': 5.0, + 'amount_untaxed': 12000.0, + 'tax_amount_igst': 600.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 8.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 2300.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 207.0, + 'tax_amount_sgst': 207.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 3, document, expected_values + + # Put back the UOM of the second line to unit. + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 600.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 600.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + ])) + expected_values = { + 'has_igst': True, + 'has_gst': True, + 'has_cess': False, + 'nb_columns': 8, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 8.0, + 'uom_name': self.uom_unit.name, + 'rate': 5.0, + 'amount_untaxed': 2300.0, + 'tax_amount_igst': 115.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 8.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 2300.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 207.0, + 'tax_amount_sgst': 207.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 4, document, expected_values + + # Change GST 18% taxes to IGST. + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 600.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_5}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 600.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 5.0, 'price_unit': 300.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18}, + ])) + expected_values = { + 'has_igst': True, + 'has_gst': False, + 'has_cess': False, + 'nb_columns': 6, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 8.0, + 'uom_name': self.uom_unit.name, + 'rate': 5.0, + 'amount_untaxed': 2300.0, + 'tax_amount_igst': 115.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 8.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 2300.0, + 'tax_amount_igst': 414.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 5, document, expected_values + + def test_l10n_in_hsn_summary_1_generic_helpers(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_1(): + with self.subTest(test_index=test_index): + self.assert_l10n_in_hsn_summary(document, expected_values) + self._run_js_tests() + + def test_l10n_in_hsn_summary_1_invoices(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_1(): + with self.subTest(test_index=test_index): + invoice = self.convert_document_to_invoice(document) + self.assert_invoice_l10n_in_hsn_summary(invoice, expected_values) + + def _test_l10n_in_hsn_summary_2(self): + """ Test CESS taxes in combination with GST/IGST. """ + # Need the tax to be evaluated at the end. + self.cess_5_plus_1591.sequence = 100 + + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 15.80, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18 + self.cess_5_plus_1591}, + ])) + expected_values = { + 'has_igst': False, + 'has_gst': True, + 'has_cess': True, + 'nb_columns': 8, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 15.8, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 1.42, + 'tax_amount_sgst': 1.42, + 'tax_amount_cess': 2.38, + }, + ], + } + yield 1, document, expected_values + + # Change GST 18% taxes to IGST. + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 15.80, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18 + self.cess_5_plus_1591}, + ])) + expected_values = { + 'has_igst': True, + 'has_gst': False, + 'has_cess': True, + 'nb_columns': 7, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 15.8, + 'tax_amount_igst': 2.84, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 2.38, + }, + ], + } + yield 2, document, expected_values + + def test_l10n_in_hsn_summary_2_generic_helpers(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_2(): + with self.subTest(test_index=test_index): + self.assert_l10n_in_hsn_summary(document, expected_values) + self._run_js_tests() + + def test_l10n_in_hsn_summary_2_invoices(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_2(): + with self.subTest(test_index=test_index): + invoice = self.convert_document_to_invoice(document) + self.assert_invoice_l10n_in_hsn_summary(invoice, expected_values) + + def _test_l10n_in_hsn_summary_3(self): + """ Test with mixed HSN codes. """ + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 50.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_2, 'quantity': 1.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_2, 'quantity': 2.0, 'price_unit': 50.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.gst_18}, + ])) + expected_values = { + 'has_igst': False, + 'has_gst': True, + 'has_cess': False, + 'nb_columns': 7, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 3.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 200.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 18.0, + 'tax_amount_sgst': 18.0, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_2, + 'quantity': 3.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 200.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 18.0, + 'tax_amount_sgst': 18.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 1, document, expected_values + + # Change GST 18% taxes to IGST. + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 2.0, 'price_unit': 50.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_2, 'quantity': 1.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_2, 'quantity': 2.0, 'price_unit': 50.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18}, + ])) + expected_values = { + 'has_igst': True, + 'has_gst': False, + 'has_cess': False, + 'nb_columns': 6, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 3.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 200.0, + 'tax_amount_igst': 36.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_2, + 'quantity': 3.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 200.0, + 'tax_amount_igst': 36.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 2, document, expected_values + + def test_l10n_in_hsn_summary_3_generic_helpers(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_3(): + with self.subTest(test_index=test_index): + self.assert_l10n_in_hsn_summary(document, expected_values) + self._run_js_tests() + + def test_l10n_in_hsn_summary_3_invoices(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_3(): + with self.subTest(test_index=test_index): + invoice = self.convert_document_to_invoice(document) + self.assert_invoice_l10n_in_hsn_summary(invoice, expected_values) + + def _test_l10n_in_hsn_summary_4(self): + """ Zero rated GST or no taxes at all.""" + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 350.0, 'product_uom_id': self.uom_unit}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 350.0, 'product_uom_id': self.uom_unit}, + ])) + expected_values = { + 'has_igst': False, + 'has_gst': False, + 'has_cess': False, + 'nb_columns': 5, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 2.0, + 'uom_name': self.uom_unit.name, + 'rate': 0.0, + 'amount_untaxed': 700.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 1, document, expected_values + + # No tax to Nil Rated/exempt. + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 350.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.nil_rated}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 350.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.exempt_0}, + ])) + expected_values = { + 'has_igst': False, + 'has_gst': False, + 'has_cess': False, + 'nb_columns': 5, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 2.0, + 'uom_name': self.uom_unit.name, + 'rate': 0.0, + 'amount_untaxed': 700.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 2, document, expected_values + + # Put one IGST 18% to get a value on the IGST column. + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 350.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18}, + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 350.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.exempt_0}, + ])) + expected_values = { + 'has_igst': True, + 'has_gst': False, + 'has_cess': False, + 'nb_columns': 6, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 350.0, + 'tax_amount_igst': 63.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_unit.name, + 'rate': 0.0, + 'amount_untaxed': 350.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 3, document, expected_values + + def test_l10n_in_hsn_summary_4_generic_helpers(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_4(): + with self.subTest(test_index=test_index): + self.assert_l10n_in_hsn_summary(document, expected_values) + self._run_js_tests() + + def test_l10n_in_hsn_summary_4_invoices(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_4(): + with self.subTest(test_index=test_index): + invoice = self.convert_document_to_invoice(document) + self.assert_invoice_l10n_in_hsn_summary(invoice, expected_values) + + def _test_l10n_in_hsn_summary_5(self): + """ Test with discount. """ + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 100.0, 'discount': 10.0, 'product_uom_id': self.uom_unit}, + ])) + expected_values = { + 'has_igst': False, + 'has_gst': False, + 'has_cess': False, + 'nb_columns': 5, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_unit.name, + 'rate': 0.0, + 'amount_untaxed': 90.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 1, document, expected_values + + def test_l10n_in_hsn_summary_5_generic_helpers(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_5(): + with self.subTest(test_index=test_index): + self.assert_l10n_in_hsn_summary(document, expected_values) + self._run_js_tests() + + def test_l10n_in_hsn_summary_5_invoices(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_5(): + with self.subTest(test_index=test_index): + invoice = self.convert_document_to_invoice(document) + self.assert_invoice_l10n_in_hsn_summary(invoice, expected_values) + + def _test_l10n_in_hsn_summary_6(self): + """ Test with Sale RC tax. """ + document = self.populate_document(self.init_document([ + {'l10n_in_hsn_code': self.test_hsn_code_1, 'quantity': 1.0, 'price_unit': 100.0, 'product_uom_id': self.uom_unit, 'tax_ids': self.igst_18_rc}, + ])) + expected_values = { + 'has_igst': True, + 'has_gst': False, + 'has_cess': False, + 'nb_columns': 6, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_unit.name, + 'rate': 18.0, + 'amount_untaxed': 100.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 0.0, + 'tax_amount_sgst': 0.0, + 'tax_amount_cess': 0.0, + }, + ], + } + yield 1, document, expected_values + + def test_l10n_in_hsn_summary_6_generic_helpers(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_6(): + with self.subTest(test_index=test_index): + self.assert_l10n_in_hsn_summary(document, expected_values) + self._run_js_tests() + + def test_l10n_in_hsn_summary_6_invoices(self): + for test_index, document, expected_values in self._test_l10n_in_hsn_summary_6(): + with self.subTest(test_index=test_index): + invoice = self.convert_document_to_invoice(document) + self.assert_invoice_l10n_in_hsn_summary(invoice, expected_values) + + def test_l10n_in_hsn_summary_manual_edit_invoice_taxes(self): + invoice = self.env['account.move'].create({ + 'move_type': 'out_invoice', + 'invoice_date': '2017-01-01', + 'partner_id': self.partner_a.id, + 'invoice_line_ids': [ + Command.create({ + 'product_id': self.product_a.id, + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'price_unit': 1000.0, + 'tax_ids': [Command.set(self.gst_5.ids)], + }), + Command.create({ + 'product_id': self.product_a.id, + 'l10n_in_hsn_code': self.test_hsn_code_2, + 'price_unit': 1000.0, + 'tax_ids': [Command.set(self.gst_5.ids)], + }), + ], + }) + + # Manual edition of the tax. + sgst_tax = self.gst_5.children_tax_ids.filtered(lambda tax: tax.l10n_in_gst_tax_type == 'sgst') + cgst_tax = self.gst_5.children_tax_ids.filtered(lambda tax: tax.l10n_in_gst_tax_type == 'cgst') + tax_line_sgst = invoice.line_ids.filtered(lambda aml: aml.tax_line_id == sgst_tax) + tax_line_cgst = invoice.line_ids.filtered(lambda aml: aml.tax_line_id == cgst_tax) + payment_term = invoice.line_ids.filtered(lambda aml: aml.display_type == 'payment_term') + invoice.line_ids = [ + Command.update(tax_line_sgst.id, {'amount_currency': tax_line_sgst.amount_currency + 1.0}), + Command.update(tax_line_cgst.id, {'amount_currency': tax_line_cgst.amount_currency + 1.0}), + Command.update(payment_term.id, {'amount_currency': payment_term.amount_currency - 2.0}), + ] + + self.assert_invoice_l10n_in_hsn_summary(invoice, { + 'has_igst': False, + 'has_gst': True, + 'has_cess': False, + 'nb_columns': 7, + 'display_uom': False, + 'items': [ + { + 'l10n_in_hsn_code': self.test_hsn_code_1, + 'quantity': 1.0, + 'uom_name': self.uom_unit.name, + 'rate': 5.0, + 'amount_untaxed': 1000.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 24.5, + 'tax_amount_sgst': 24.5, + 'tax_amount_cess': 0.0, + }, + { + 'l10n_in_hsn_code': self.test_hsn_code_2, + 'quantity': 1.0, + 'uom_name': self.uom_unit.name, + 'rate': 5.0, + 'amount_untaxed': 1000.0, + 'tax_amount_igst': 0.0, + 'tax_amount_cgst': 24.5, + 'tax_amount_sgst': 24.5, + 'tax_amount_cess': 0.0, + }, + ], + }) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_invoice_label.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_invoice_label.py new file mode 100644 index 0000000..d9db6e3 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_invoice_label.py @@ -0,0 +1,72 @@ +from odoo import Command +from odoo.addons.l10n_in.tests.common import L10nInTestInvoicingCommon +from odoo.tests import tagged + + +@tagged('post_install_l10n', 'post_install', '-at_install') +class TestInvoiceLabel(L10nInTestInvoicingCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls.partner_b.l10n_in_gst_treatment = "regular" + cls.unregistered_partner = cls.partner_a.copy({"state_id": cls.state_in_mh.id, "vat": None, "l10n_in_gst_treatment": "unregistered"}) + + def test_invoice_label(self): + # Regular with taxable items + regular_taxable_invoice = self._init_inv( + partner=self.partner_b, + taxes=self.igst_sale_18, + line_vals={'price_unit': 1000, 'quantity': 1}, + ) + invoice_label = regular_taxable_invoice._get_l10n_in_invoice_label() + self.assertEqual(invoice_label, 'Tax Invoice') + + # Regular with exempt items + regular_exempt_invoice = self._init_inv( + partner=self.partner_b, + taxes=self.exempt, + line_vals={'price_unit': 1000, 'quantity': 1}, + ) + invoice_label = regular_exempt_invoice._get_l10n_in_invoice_label() + self.assertEqual(invoice_label, 'Bill of Supply') + + # Regular with taxable and exempt items + regular_mix_invoice = self._init_inv( + partner=self.partner_b, + taxes=self.igst_sale_18, + line_vals={'price_unit': 1000, 'quantity': 1}, + post=False, + ) + regular_mix_invoice.write({ + 'invoice_line_ids': [Command.create({ + 'product_id': self.product_b.id, + 'account_id': regular_mix_invoice.invoice_line_ids[0].account_id.id, + 'price_unit': 500, + 'quantity': 1, + 'tax_ids': [(6, 0, [self.exempt.id])], + })], + }) + regular_mix_invoice.action_post() + invoice_label = regular_mix_invoice._get_l10n_in_invoice_label() + self.assertEqual(invoice_label, 'Invoice') + + # unregistered with taxable and exempt items + unregistered_invoice = self._init_inv( + partner=self.unregistered_partner, + taxes=self.igst_sale_18, + line_vals={'price_unit': 220000, 'quantity': 1}, + post=False, + ) + unregistered_invoice.write({ + 'invoice_line_ids': [Command.create({ + 'product_id': self.product_b.id, + 'account_id': unregistered_invoice.invoice_line_ids[0].account_id.id, + 'price_unit': 500, + 'quantity': 1, + 'tax_ids': [(6, 0, [self.exempt.id])], + })], + }) + unregistered_invoice.action_post() + invoice_label = unregistered_invoice._get_l10n_in_invoice_label() + self.assertEqual(invoice_label, 'Invoice-cum-Bill of Supply') diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_l10n_in_fiscal_position.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_l10n_in_fiscal_position.py new file mode 100644 index 0000000..17bab05 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_l10n_in_fiscal_position.py @@ -0,0 +1,242 @@ +from contextlib import contextmanager +from unittest.mock import patch + +from odoo.tests import tagged + +from odoo.addons.l10n_in.tests.common import L10nInTestInvoicingCommon + + +@tagged('post_install', '-at_install', 'post_install_l10n') +class TestFiscal(L10nInTestInvoicingCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + + # Remove fiscal position 'fiscal_pos_a' so it does not show up on invoice + cls.partner_b.property_account_position_id = None + + @contextmanager + def _set_env_company(self, companies): + cls = self.__class__ + env = cls.env(context=dict(cls.env.context, allowed_company_ids=companies.ids)) + with patch.object(cls, "env", env): + yield + + def _assert_in_intra_state_fiscal_with_company(self, companies): + for company in companies: + state = company.state_id + name = state and 'Within %s' % state.name or 'Intra State' + self.assertRecordValues( + self.env['account.chart.template'].with_company(company).ref('fiscal_position_in_intra_state'), + [{ + 'name': name, + 'state_ids': state.ids, + 'company_id': company.id, # To make sure for branches don't get parent fiscal position + 'auto_apply': True + }] + ) + + def _assert_invoice_fiscal_position(self, fiscal_position_ref, partner, taxes=None, move_type='out_invoice', post=True): + test_invoice = self.init_invoice( + move_type=move_type, + partner=partner, + post=post, + amounts=[110, 500], + taxes=taxes + ) + self.assertEqual(test_invoice.fiscal_position_id, self.env['account.chart.template'].ref(fiscal_position_ref)) + return test_invoice + + def test_l10n_in_setting_up_company(self): + company = self._create_company(name='Fiscal Setup Test Company') + # Test with no state but country india + self._assert_in_intra_state_fiscal_with_company(company) + # Change state + company.write({'state_id': self.default_company.state_id.id}) + self._assert_in_intra_state_fiscal_with_company(company) + # Change State Again + company.write({'state_id': self.env.ref('base.state_in_ap')}) + self._assert_in_intra_state_fiscal_with_company(company) + + def test_l10n_in_auto_apply_fiscal_invoices(self): + self._assert_in_intra_state_fiscal_with_company(self.default_company) + + # Intra State + self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_intra_state', + partner=self.partner_a, + taxes=self.sgst_sale_18, + ) + # Inter State + self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_inter_state', + partner=self.partner_b, + taxes=self.igst_sale_18, + ) + # Outside India + self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_export_sez_in', + partner=self.partner_foreign, + taxes=self.igst_sale_18, + ) + + def test_l10n_in_fiscal_for_branch(self): + branch_1 = self._create_company( + name='Branch 1', + parent_id=self.default_company.id, + state_id=self.partner_b.state_id.id, # Setting Partner B state will be now Intra State for branch 1 + account_fiscal_country_id=self.country_in.id, + ) + with self._set_env_company(self.outside_in_company): + branch_2 = self.env['res.company'].create({ + 'name': 'Branch 2', + 'parent_id': self.default_company.id, + 'account_fiscal_country_id': self.country_in.id, + 'country_id': self.country_in.id, + }) + # Check Branch with country india and no state + self._assert_in_intra_state_fiscal_with_company(branch_2) + # Set state after creating branch + branch_2.write({'state_id': self.env.ref('base.state_in_mp').id}) + self._assert_in_intra_state_fiscal_with_company(branch_1 + branch_2) + # Invoice fiscal test with branch + with self._set_env_company(branch_1): + self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_intra_state', + partner=self.partner_b, + taxes=self.sgst_sale_18, + ) + self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_inter_state', + partner=self.partner_a, + taxes=self.igst_sale_18, + ) + self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_export_sez_in', + partner=self.partner_foreign, + taxes=self.igst_sale_18, + ) + + def test_l10n_in_fiscal_in_bill_to_ship_to(self): + with self._set_env_company(self.default_company): + # Inter State + out_invoice = self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_inter_state', + partner=self.partner_b, + taxes=self.igst_sale_18, + post=False, + ) + # Intra State + out_invoice.write({ + 'l10n_in_state_id': self.env.ref('base.state_in_gj').id, + }) + self.assertEqual( + out_invoice.fiscal_position_id, + self.env['account.chart.template'].ref('fiscal_position_in_intra_state') + ) + # Outside India (Export/SEZ) + out_invoice.write({ + 'l10n_in_state_id': self.env.ref('l10n_in.state_in_oc').id, # Other Country State + }) + self.assertEqual( + out_invoice.fiscal_position_id, + self.env['account.chart.template'].ref('fiscal_position_in_export_sez_in') + ) + + def test_l10n_in_fiscal_in_vendor_bills(self): + ''' + In Purchase Document: Compare place of supply with vendor state + ''' + + with self._set_env_company(self.default_company): + template = self.env['account.chart.template'] + company_state = self.env.company.state_id + other_state = self.env['res.country.state'].search([ + ('id', '!=', company_state.id), + ('country_id', '=', company_state.country_id.id) + ], limit=1) + + # Sub-test: Intra-State + with self.subTest(scenario="Intra-State"): + self.partner_a.write({'state_id': company_state.id}) + vendor_bill = self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_intra_state', + partner=self.partner_a, + move_type='in_invoice', + post=False, + ) + self.partner_a.write({'state_id': other_state.id}) + vendor_bill.write({'l10n_in_state_id': other_state.id}) + self.assertEqual( + vendor_bill.fiscal_position_id, + template.ref('fiscal_position_in_intra_state') + ) + + # Sub-test: Inter-State + with self.subTest(scenario="Inter-State"): + self.partner_a.write({'state_id': other_state.id}) + vendor_bill = self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_inter_state', + partner=self.partner_a, + move_type='in_invoice', + post=False, + ) + self.partner_a.write({'state_id': company_state.id}) + vendor_bill.write({'l10n_in_state_id': other_state.id}) + self.assertEqual( + vendor_bill.fiscal_position_id, + template.ref('fiscal_position_in_inter_state') + ) + + # Sub-test: Export/SEZ (Outside India) + with self.subTest(scenario="Export/SEZ"): + vendor_bill = self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_export_sez_in', + partner=self.partner_foreign, + move_type='in_invoice', + post=False, + ) + vendor_bill.write({'l10n_in_state_id': self.env.ref('l10n_in.state_in_oc').id}) # Other Country State + self.assertEqual( + vendor_bill.fiscal_position_id, + template.ref('fiscal_position_in_export_sez_in') + ) + # Here fpos should Inter-State. But due to `l10n_in_gst_treatment` it will be Export/SEZ + self.partner_a.write({'state_id': other_state.id}) + vendor_bill.write({ + 'partner_id': self.partner_a.id, # Inter-State Partner + 'l10n_in_state_id': company_state.id, # Company State + 'l10n_in_gst_treatment': 'special_economic_zone', + }) + self.assertEqual( + vendor_bill.fiscal_position_id, + template.ref('fiscal_position_in_sez') + ) + + # Sub-test: Manual Partner Fiscal Check + with self.subTest(scenario="Manual Partner Fiscal Check"): + # Here fpos should be Intra-State. But due to `property_account_position_id` it will be Export/SEZ + self.partner_a.write({ + 'state_id': company_state.id, # Intra-State Partner + 'property_account_position_id': template.ref('fiscal_position_in_export_sez_in').id + }) + self._assert_invoice_fiscal_position( + fiscal_position_ref='fiscal_position_in_export_sez_in', + partner=self.partner_a, + move_type='in_invoice', + ) + + def test_l10n_in_company_with_no_vat(self): + """ + Test the company with no VAT and update the partner and company states as per the GSTIN number + """ + company = self.default_company + + company.write({'vat': False}) + self.assertFalse(company.vat) + company.action_update_state_as_per_gstin() + self.assertEqual(company.partner_id.state_id, self.env.ref('base.state_in_gj')) + + company.write({'vat': '36AABCT1332L011'}) + company.action_update_state_as_per_gstin() + self.assertEqual(company.state_id, self.env.ref('base.state_in_ts')) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_partner_details_on_invoice.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_partner_details_on_invoice.py new file mode 100644 index 0000000..5a07dbb --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_partner_details_on_invoice.py @@ -0,0 +1,135 @@ +from odoo.tests import tagged +import logging + +from odoo.addons.l10n_in.tests.common import L10nInTestInvoicingCommon + +_logger = logging.getLogger(__name__) + +@tagged('post_install_l10n', 'post_install', '-at_install') +class TestReports(L10nInTestInvoicingCommon): + + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls.partner_b.l10n_in_gst_treatment = 'regular' + cls.partner_a.l10n_in_gst_treatment = 'composition' + cls.partner_foreign.l10n_in_gst_treatment = 'overseas' + cls.partner_foreign_no_state.l10n_in_gst_treatment = 'overseas' + + cls.igst_sale_18 = cls.env['account.chart.template'].ref('igst_sale_18') + + def test_partner_details_change_with_invoice(self): + invoice_b_2 = self.init_invoice( + move_type='out_invoice', + partner=self.partner_b, + amounts=[250, 600], + taxes=[self.igst_sale_18], + post=True + ) + + # Place of Supply (pos) is same as of state of partner (for journal type sale) + expected_pos_id = self.state_in_mh.id + self.assertRecordValues( + self.invoice_b, + [{ + 'state': 'draft', + 'l10n_in_gst_treatment': self.partner_b.l10n_in_gst_treatment, + 'l10n_in_state_id': expected_pos_id, + }] + ) + self.assertRecordValues( + invoice_b_2, + [{ + 'state': 'posted', + 'l10n_in_gst_treatment': self.partner_b.l10n_in_gst_treatment, + 'l10n_in_state_id': expected_pos_id, + }] + ) + self.assertRecordValues( + invoice_b_2, + [{ # check gst treatment and pos doesn't change on posted invoice + 'state': 'posted', + 'l10n_in_gst_treatment': 'regular', + }] + ) + + def test_partner_change_with_invoice(self): + in_invoice = self.init_invoice( + move_type='in_invoice', + partner=self.partner_b, + amounts=[452, 58, 110], + taxes=[self.igst_sale_18], + ) + + self.invoice_a.partner_id = self.partner_foreign + self.assertRecordValues( + self.invoice_a, + [{ + 'state': 'draft', + 'l10n_in_gst_treatment': self.partner_foreign.l10n_in_gst_treatment, + 'l10n_in_state_id': self.env.ref("l10n_in.state_in_oc").id, + }] + ) + self.assertRecordValues( + in_invoice, + [{ + 'state': 'draft', + 'l10n_in_gst_treatment': self.partner_b.l10n_in_gst_treatment, + 'l10n_in_state_id': self.env.company.state_id.id, + }] + ) + + def test_place_of_supply(self): + child_partner = self.env['res.partner'].create({ + 'name': "Child Contact", + 'type': "delivery", + 'parent_id': self.partner_a.id, + 'state_id': self.state_in_hp.id + }) + + self.assertRecordValues( + self.invoice_a, + [{ + 'partner_shipping_id': self.partner_a.id, + 'l10n_in_state_id': self.partner_a.state_id.id, + }] + ) + self.invoice_a.partner_shipping_id = child_partner + self.assertRecordValues( + self.invoice_a, + [{ + 'partner_shipping_id': child_partner.id, + 'l10n_in_state_id': child_partner.state_id.id, + }] + ) + self.invoice_a.partner_shipping_id = self.partner_b + self.assertRecordValues( + self.invoice_a, + [{ + 'l10n_in_state_id': self.partner_a.state_id.id, + }] + ) + + def test_foreign_customer_without_state(self): + """ Verify foreign customer without state_id gets foreign state reference """ + self.assertRecordValues( + self.invoice_d, + [{ + 'l10n_in_gst_treatment': 'overseas', + 'l10n_in_state_id': self.env.ref("l10n_in.state_in_oc").id, + }] + ) + + def test_government_gstin_extraction_tan(self): + """ Verify that a GSTIN based on a TAN (Government entity) correctly populates the TAN field and leaves the PAN field empty. """ + gov_partner = self.env['res.partner'].create({ + 'name': "Gov Partner", + 'country_id': self.env.ref('base.in').id, + 'state_id': self.env.ref('base.state_in_dl').id, + 'vat': '07DELN10357E1DH', + }) + self.assertRecordValues(gov_partner, [{ + 'l10n_in_pan_entity_id': False, + 'l10n_in_tan': 'DELN10357E', + }]) diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_tds_tcs_alert.py b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_tds_tcs_alert.py new file mode 100644 index 0000000..642beee --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/tests/test_tds_tcs_alert.py @@ -0,0 +1,596 @@ +from odoo import Command +from odoo.addons.l10n_in.tests.common import L10nInTestInvoicingCommon +from odoo.tests import tagged + + +@tagged('post_install_l10n', 'post_install', '-at_install') +class TestTdsTcsAlert(L10nInTestInvoicingCommon): + + @classmethod + def setUpClass(cls): + super().setUpClass() + ChartTemplate = cls.env['account.chart.template'] + + # ==== Chart of Accounts ==== + cls.purchase_account = ChartTemplate.ref('p2107') + cls.purchase_account.write({ + 'l10n_in_tds_tcs_section_id': cls.env.ref('l10n_in.tds_section_194c').id + }) + cls.house_expense_account = ChartTemplate.ref('p2103') + cls.house_expense_account.write({ + 'l10n_in_tds_tcs_section_id': cls.env.ref('l10n_in.tds_section_194c').id + }) + cls.internet_account = ChartTemplate.ref('p2105') + cls.internet_account.write({ + 'l10n_in_tds_tcs_section_id': cls.env.ref('l10n_in.tds_section_194j').id + }) + cls.rent_account = ChartTemplate.ref('p2111') + cls.rent_account.write({ + 'l10n_in_tds_tcs_section_id': cls.env.ref('l10n_in.tds_section_194ib').id + }) + cls.sale_account = ChartTemplate.ref('p20011') + cls.sale_account.write({ + 'l10n_in_tds_tcs_section_id': cls.env.ref('l10n_in.tcs_section_206c1g_r').id + }) + cls.service_account = ChartTemplate.ref('p20021') + cls.creditors_account = ChartTemplate.ref('p11211') + + # ==== Taxes ==== + cls.tax_194c = ChartTemplate.ref('tds_20_us_194c') + cls.tax_194c.write({'l10n_in_section_id': cls.env.ref('l10n_in.tds_section_194c').id}) + cls.tax_194j = ChartTemplate.ref('tds_10_us_194j') + cls.tax_194j.write({'l10n_in_section_id': cls.env.ref('l10n_in.tds_section_194j').id}) + cls.tax_194ib = ChartTemplate.ref('tds_20_us_194ib') + cls.tax_194ib.write({'l10n_in_section_id': cls.env.ref('l10n_in.tds_section_194ib').id}) + cls.tax_206c1g_r = ChartTemplate.ref('tcs_5_us_206c_1g_som') + cls.tax_206c1g_r.write({'l10n_in_section_id': cls.env.ref('l10n_in.tcs_section_206c1g_r').id}) + + country_in_id = cls.env.ref("base.in").id + + cls.partner_b.write({ + 'vat': '27ABCPM8965E1ZE', + }) + cls.partner_foreign_2 = cls.partner_foreign.copy() + + # ==== Company ==== + cls.env.company.write({ + 'child_ids': [ + Command.create({ + 'name': 'Branch A', + "state_id": cls.env.ref("base.state_in_gj").id, + 'account_fiscal_country_id': country_in_id, + 'country_id': country_in_id, + }), + Command.create({ + 'name': 'Branch B', + "state_id": cls.env.ref("base.state_in_mh").id, + 'account_fiscal_country_id': country_in_id, + 'country_id': country_in_id, + }), + Command.create({ + 'name': 'Branch C', + "state_id": cls.env.ref("base.state_in_mp").id, + 'account_fiscal_country_id': country_in_id, + 'country_id': country_in_id, + }), + ], + }) + cls.cr.precommit.run() # load the CoA + + cls.branch_a, cls.branch_b, cls.branch_c = cls.env.company.child_ids + + def create_invoice(self, move_type=None, partner=None, invoice_date=None, amounts=None, taxes=[], company=None, accounts=[], quantities=[]): + invoice = self.init_invoice( + move_type=move_type or 'in_invoice', + partner=partner, + invoice_date=invoice_date, + post=False, + amounts=amounts, + company=company + ) + + for i, account in enumerate(accounts): + invoice.invoice_line_ids[i].account_id = account + + for i, quantity in enumerate(quantities): + invoice.invoice_line_ids[i].quantity = quantity + + for i, tax in enumerate(taxes): + invoice.invoice_line_ids[i].tax_ids = tax + invoice.action_post() + return invoice + + def tds_wizard_entry(self, move, lines): + journal_id = self.env['account.journal'].search([('company_id', '=', self.env.company.id),('type', '=', 'general')], limit=1) + for tax, amount in lines: + self.env['l10n_in.withhold.wizard'].with_context(active_model='account.move', active_ids=move.ids).create({ + 'journal_id': journal_id.id, + 'tax_id': tax.id, + 'base': amount, + 'date': move.invoice_date, + }).action_create_and_post_withhold() + + def reverse_move(self, move, date): + move_reversal = self.env['account.move.reversal'].with_context(active_model="account.move", active_ids=move.ids).create({ + 'date': date, + 'reason': 'no reason', + 'journal_id': move.journal_id.id, + }) + return move_reversal.refund_moves() + + def test_tcs_tds_warning(self): + ''' + Test that if any of the limit is not exceeded. + ''' + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-06-05', + amounts=[29000], + company=self.branch_a, + accounts=[self.internet_account], + quantities=[1] + ) + + self.assertEqual(move.l10n_in_warning, False) + + def test_tcs_tds_warning_on_exceeded_per_transaction_limit(self): + ''' + Test that if the per transaction limit is exceeded. + ''' + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-06-05', + amounts=[31000], + company=self.branch_a, + quantities=[1] + ) + self.assertEqual(move.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + move_1 = self.create_invoice( + partner=self.partner_b, + invoice_date='2024-06-05', + amounts=[31000], + company=self.branch_b, + quantities=[1] + ) + self.assertEqual(move_1.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + self.create_invoice( + partner=self.partner_b, + invoice_date='2024-06-05', + amounts=[31000], + company=self.branch_b, + quantities=[1] + ) + + move_3 = self.create_invoice( + partner=self.partner_b, + invoice_date='2024-06-05', + amounts=[31000], + company=self.branch_b, + quantities=[1] + ) + self.assertEqual(move_3.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + def test_tcs_tds_warning_on_monthly_aggregate_limit(self): + ''' + Test the monthly aggregate limit, the warning + message should be set accordingly. + ''' + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-06-05', + amounts=[30000], + company=self.branch_a, + accounts=[self.rent_account] + ) + self.assertEqual(move.l10n_in_warning, False) + + move_1 = self.create_invoice( + partner=self.partner_b, + invoice_date='2024-07-06', + amounts=[20000], + company=self.branch_b, + accounts=[self.rent_account] + ) + self.assertEqual(move_1.l10n_in_warning, False) + + move_2 = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-07-16', + amounts=[31000], + company=self.branch_c, + accounts=[self.rent_account] + ) + self.assertEqual(move_2.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194IB on this transaction.") + + move_3 = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-09-06', + amounts=[50000], + company=self.branch_c, + accounts=[self.rent_account] + ) + self.assertEqual(move_3.l10n_in_warning, False) + + move_4 = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-09-16', + amounts=[50000], + company=self.branch_c, + accounts=[self.rent_account] + ) + self.assertEqual(move_4.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194IB on this transaction.") + + def test_tcs_tds_warning_partner_wiht_pan(self): + ''' + Test the aggregate limit when partner don't have + pan number and having pan number. + ''' + # no pan number + move = self.create_invoice( + partner=self.partner_foreign, + invoice_date='2024-06-05', + amounts=[30000], + company=self.branch_a, + accounts=[self.internet_account] + ) + self.assertEqual(move.l10n_in_warning, False) + + move_1 = self.create_invoice( + partner=self.partner_foreign_2, + invoice_date='2024-06-05', + amounts=[30000], + company=self.branch_b, + accounts=[self.internet_account] + ) + self.assertEqual(move_1.l10n_in_warning, False) + + # same pan number + move_2 = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-06-05', + amounts=[30000], + company=self.branch_a, + accounts=[self.internet_account] + ) + self.assertEqual(move_2.l10n_in_warning, False) + + move_3 = self.create_invoice( + partner=self.partner_b, + invoice_date='2024-06-05', + amounts=[30000], + company=self.branch_b, + accounts=[self.internet_account] + ) + self.assertEqual(move_3.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194J on this transaction.") + + def test_tcs_tds_warning_on_exceeded_aggregate_limit(self): + ''' + Test that if the aggregate limit is exceeded. + ''' + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-06-05', + amounts=[20000], + company=self.branch_a, + ) + self.assertEqual(move.l10n_in_warning, False) + + move_1 = self.create_invoice( + partner=self.partner_b, + invoice_date='2024-07-06', + amounts=[20000], + company=self.branch_b, + ) + self.assertEqual(move_1.l10n_in_warning, False) + + move_2 = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-08-06', + amounts=[31000], + company=self.branch_c, + ) + self.assertEqual(move_2.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + move_3 = self.create_invoice( + partner=self.partner_b, + invoice_date='2024-09-06', + amounts=[5000], + company=self.branch_a, + ) + self.assertEqual(move_3.l10n_in_warning, False) + + move_4 = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-10-07', + amounts=[20000], + company=self.branch_b, + ) + self.assertEqual(move_4.l10n_in_warning, False) + + move_5 = self.create_invoice( + partner=self.partner_b, + invoice_date='2024-11-08', + amounts=[25000], + company=self.branch_c, + ) + self.assertEqual(move_5.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + def test_tcs_tds_warning_on_case_of_credit_note(self): + ''' + Test that the aggregate limit in case of debit/credit note. + ''' + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-09-01', + amounts=[2000], + company=self.branch_a, + accounts=[self.internet_account] + ) + self.assertEqual(move.l10n_in_warning, False) + + move_1 = self.create_invoice( + partner=self.partner_b, + invoice_date='2024-09-01', + amounts=[3000], + company=self.branch_a, + accounts=[self.internet_account] + ) + self.reverse_move(move, '2024-09-01') + + self.assertEqual(move_1.l10n_in_warning, False) + + move_2 = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-09-01', + amounts=[2000], + company=self.branch_a, + accounts=[self.internet_account] + ) + self.assertEqual(move_2.l10n_in_warning, False) + + def test_tcs_tds_warning_cleared_on_available_tax(self): + ''' + Test when a tax is added to the move line with a similar tax group + as the account. + ''' + + move = self.create_invoice( + partner=self.partner_a, + move_type='out_invoice', + invoice_date='2022-12-12', + amounts=[710000], + taxes=[self.tax_206c1g_r], + company=self.branch_a, + ) + + self.assertEqual(move.l10n_in_warning, False) + + def test_tcs_tds_warning_for_multiple_accounts_in_lines(self): + ''' + Test when there are multiple products in the move line and some of them + have different accounts which have the different tax group as the account. + ''' + + move = self.create_invoice( + partner=self.partner_a, + move_type='in_invoice', + invoice_date='2022-12-12', + amounts=[100000, 1100000, 710000], + company=self.branch_a, + accounts=[self.rent_account, self.internet_account, self.purchase_account], + quantities=[15, 16, 10] + ) + self.assertTrue(move.l10n_in_warning) + + move_1 = self.create_invoice( + partner=self.partner_a, + move_type='in_invoice', + invoice_date='2022-12-12', + amounts=[1000000.0, 1100000.0, 710000], + company=self.branch_a, + accounts=[self.rent_account, self.internet_account, self.purchase_account], + ) + self.tds_wizard_entry(move=move_1, lines=[(self.tax_194ib, 100000), (self.tax_194j, 100000), (self.tax_194c, 100000)]) + move_1.button_draft() + move_1.action_post() + self.assertEqual(move_1.l10n_in_warning, False) + + def test_tcs_tds_warning_for_if_line_has_price_zero(self): + ''' + Test when any invoice line has Zero + ''' + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[101000, 0], + company=self.branch_a, + ) + self.assertEqual(move.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + move_1 = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[0], + company=self.branch_a, + ) + self.assertEqual(move_1.l10n_in_warning, False) + + def test_tcs_tds_warning_for_all_lines_do_not_have_taxes(self): + ''' + Test when tds entry created and warning will removed + ''' + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[1000, 6000], + company=self.branch_a, + accounts=[], + quantities=[15, 16] + ) + self.assertEqual(move.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + self.tds_wizard_entry(move=move, lines=[(self.tax_194c, 100000)]) + move.line_ids.remove_move_reconcile() + self.assertEqual(move.l10n_in_warning, False) + + def test_tcs_tds_warning_for_company_branches(self): + ''' + Test when the aggregate limit is exceeded in case of multiple branches + of the company,the warning message should be set accordingly. + ''' + + self.create_invoice( + partner=self.partner_a, + invoice_date='2024-05-14', + amounts=[25000], + company=self.branch_a, + ) + + self.create_invoice( + partner=self.partner_b, + invoice_date='2024-05-14', + amounts=[25000], + company=self.branch_b, + ) + + self.create_invoice( + partner=self.partner_b, + invoice_date='2024-05-14', + amounts=[25000], + company=self.branch_c, + quantities=[25] + ) + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-05-14', + amounts=[28000], + company=self.branch_a, + ) + + self.assertEqual(move.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + def test_tcs_tds_warning_tcs_use_in_bill(self): + ''' + Test when tcs section is used in the bill creation. + ''' + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2024-05-29', + amounts=[1100000], + company=self.branch_a, + accounts=[self.sale_account] + ) + self.assertEqual(move.l10n_in_warning, False) + + def test_tcs_tds_warning_tds_use_in_invoice(self): + ''' + Test when tcs section is used in the bill creation. + ''' + + move = self.create_invoice( + move_type='out_invoice', + partner=self.partner_a, + invoice_date='2024-05-29', + amounts=[110000], + company=self.branch_a, + ) + self.assertEqual(move.l10n_in_warning, False) + + def test_tcs_tds_warning_for_multiple_accounts_same_section_in_lines(self): + ''' + Test when there are multiple products in the move line and some of them + have different accounts which have the same tax group as the account. + ''' + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[17000, 14000], + company=self.branch_a, + accounts=[self.house_expense_account, self.purchase_account], + ) + self.assertEqual(move.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + move_1 = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[17000, 13000], + company=self.branch_a, + accounts=[self.house_expense_account, self.purchase_account], + ) + self.assertEqual(move_1.l10n_in_warning, False) + + move_2 = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[30000], + company=self.branch_a, + accounts=[self.house_expense_account], + ) + self.assertEqual(move_2.l10n_in_warning, False) + + move_3 = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[10000], + company=self.branch_a, + ) + self.assertEqual(move_3.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + def test_tcs_tds_warning_for_not_consider_draft_cancel_invoices_for_aggregate(self): + ''' + Test to exclude draft and canceled invoices from aggregate + total calculation. + ''' + + move = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[16000], + company=self.branch_a, + accounts=[self.purchase_account], + ) + move.button_cancel() + self.assertEqual(move.l10n_in_warning, False) + + move_1 = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[25000], + company=self.branch_a, + accounts=[self.purchase_account], + ) + self.assertEqual(move_1.l10n_in_warning, False) + + move_2 = self.create_invoice( + partner=self.partner_a, + invoice_date='2022-12-12', + amounts=[85000], + company=self.branch_a, + accounts=[self.purchase_account], + ) + self.assertEqual(move_2.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to deduct TDS u/s 194C on this transaction.") + + def test_tcs_tds_warning_if_some_lines_has_tax(self): + ''' + Test when a tax is added to the some of the move line + ''' + + move = self.create_invoice( + partner=self.partner_a, + move_type='out_invoice', + invoice_date='2022-12-12', + amounts=[710000, 710000], + taxes=[self.tax_206c1g_r], + company=self.branch_a, + ) + + self.assertEqual(move.l10n_in_warning['tds_tcs_threshold_alert']['message'], "It's advisable to collect TCS u/s 206C(1G) Remittance on this transaction.") diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_account_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_account_views.xml new file mode 100644 index 0000000..ca473ee --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_account_views.xml @@ -0,0 +1,24 @@ + + + + account.account.tds.tcs.view.form.inherit + account.account + + + + + + + + + + account.account.tds.tcs.view.list.inherit + account.account + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_invoice_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_invoice_views.xml index 4bc0a3b..0bafb55 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_invoice_views.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_invoice_views.xml @@ -5,32 +5,116 @@ account.move + + + - - - + + invisible="country_code != 'IN' or not l10n_in_is_gst_registered_enabled or move_type == 'entry'" + readonly="state != 'draft'" + required="country_code == 'IN' and l10n_in_is_gst_registered_enabled and state == 'draft' and move_type != 'entry'"/> + - - - - + + + + - - - - + + + + - + + invisible="move_type not in ('out_invoice', 'out_refund') or country_code != 'IN' or move_type == 'entry'" + readonly="state != 'draft'"/> + + + + + + + + + + + + + + + + + + + + + + + account.move.line.list.l10n.in.withholding + account.move.line + + + + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_journal_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_journal_views.xml index 3f857c1..604db26 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_journal_views.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_journal_views.xml @@ -5,14 +5,11 @@ account.journal - - {'invisible': ['|', '&', ('country_code', '!=', 'IN'), ('type', '!=', 'cash'), '&', ('country_code', '=', 'IN'), ('type', 'not in', ['bank', 'cash', 'sale', 'purchase'])]} + + country_code != 'IN' and type != 'cash' or country_code == 'IN' and type not in ['bank', 'cash', 'sale', 'purchase'] - - {'invisible': ['|', '&', ('country_code', '!=', 'IN'), ('type', '!=', 'cash'), '&', ('country_code', '=', 'IN'), ('type', 'not in', ['bank', 'cash', 'sale', 'purchase'])]} - - - + + country_code != 'IN' and type != 'cash' or country_code == 'IN' and type not in ['bank', 'cash', 'sale', 'purchase'] diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_move_line_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_move_line_views.xml new file mode 100644 index 0000000..5859de1 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_move_line_views.xml @@ -0,0 +1,37 @@ + + + + account.move.line.list.l10n_in + account.move.line + + + + + + + + + + + + + + account.move.line.list.l10n_in + account.move.line + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_payment_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_payment_views.xml new file mode 100644 index 0000000..46a6514 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_payment_views.xml @@ -0,0 +1,26 @@ + + + + account.payment.form.inherit.l10n_in_withholding + account.payment + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_tax_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_tax_views.xml index 9ef5630..00297eb 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_tax_views.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/account_tax_views.xml @@ -5,9 +5,16 @@ account.tax - - + + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/l10n_in_pan_entity_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/l10n_in_pan_entity_views.xml new file mode 100644 index 0000000..ecb6f2c --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/l10n_in_pan_entity_views.xml @@ -0,0 +1,61 @@ + + + + l10n_in.pan.entity.view.form + l10n_in.pan.entity + +
    + + + + + + + + + + + + + + + + + + + +
    +
    + + + l10n_in.pan.entity.view.tree + l10n_in.pan.entity + + + + + + + + + + + PAN Entity + l10n_in.pan.entity + list,form + + + + +
    diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/l10n_in_section_alert_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/l10n_in_section_alert_views.xml new file mode 100644 index 0000000..9baf0f3 --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/l10n_in_section_alert_views.xml @@ -0,0 +1,53 @@ + + + + l10n_in.section.alert.view.list + l10n_in.section.alert + + + + + + + + + + + + + l10n_in.section.alert.view.form + l10n_in.section.alert + +
    + +
    +
    + + + +
    +
    +
    +
    + + + Section + l10n_in.section.alert + list,form + +
    diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/port_code_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/port_code_views.xml index 68c20ef..c690ade 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/port_code_views.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/port_code_views.xml @@ -20,14 +20,14 @@ - l10n_in.port.code.tree + l10n_in.port.code.list l10n_in.port.code - + - + @@ -38,7 +38,7 @@ - + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/product_template_view.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/product_template_view.xml index 7e632ee..52ae776 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/product_template_view.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/product_template_view.xml @@ -6,9 +6,13 @@ product.template + + + - - + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/report_invoice.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/report_invoice.xml index 5e0f4a5..3f106ab 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/report_invoice.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/report_invoice.xml @@ -2,10 +2,19 @@ - + - - diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/report_template.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/report_template.xml deleted file mode 100644 index 0725936..0000000 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/report_template.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_company_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_company_views.xml new file mode 100644 index 0000000..5ee886e --- /dev/null +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_company_views.xml @@ -0,0 +1,33 @@ + + + + res.company.form.inherit.l10n_in_upi + res.company + + + + + + + l10n_in_pan_type + + + + + + + + + + + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_config_settings_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_config_settings_views.xml index 5b4208c..14da7f7 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_config_settings_views.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_config_settings_views.xml @@ -5,22 +5,150 @@ res.config.settings -
    -
    -
    - -
    -
    -
    - Use this if setup with Reseller(E-Commerce). + + + + + + +
    + + + +
    +
    +
    +
    +
    + + + + + +
    +
    +
    +
    +
    + + +
    + Changes to this configuration will be automatically applied to all Indian companies. + Please refer to the documentation for detailed guidance on accurate configuration. +
    + The current GSP is scheduled for deprecation soon. + We strongly recommend switching to BVM GSP at the earliest to ensure uninterrupted service. +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    + + +
    +
    + Save this page and come back here to set up the feature. +
    +
    +
    + + +
    +
    + Save this page and come back here to set up the feature. +
    +
    +
    + + + + + + + + + + + + + + +
    + + + + + + + + +
    +
    +
    +
    +
    -
    -
    + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_country_state_view.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_country_state_view.xml index 282d504..120d5a1 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_country_state_view.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_country_state_view.xml @@ -7,7 +7,18 @@ - + + + + + + + l10n.in.res.country.state.list.inhert + res.country.state + + + + diff --git a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_partner_views.xml b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_partner_views.xml index fce0ee8..462d48f 100644 --- a/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_partner_views.xml +++ b/odoo-bringout-oca-ocb-l10n_in/l10n_in/views/res_partner_views.xml @@ -4,13 +4,82 @@ l10n.in.res.partner.vat.inherit res.partner - + - {'required':[('l10n_in_gst_treatment', 'in', ['regular', 'composition', 'special_economic_zone', 'deemed_export'])], 'readonly': [('parent_id', '!=', False)]} + l10n_in_is_gst_registered_enabled and l10n_in_gst_treatment in ['regular', 'composition', 'special_economic_zone', 'deemed_export'] - + + + + + + + + + + + + + + + l10n.in.res.partner.tree + res.partner + + + + + + + + + + l10n.in.view.res.partner.filter.inherit + res.partner + + + + + + + + + + + + + l10n.in.gstin.status.view.partner.inherit + res.partner + + + + + Active + Inactive + + ( + +
    +
    + + +