diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/l10n_generic_coa | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/l10n_generic_coa')
| -rw-r--r-- | addons/l10n_generic_coa/__init__.py | 8 | ||||
| -rw-r--r-- | addons/l10n_generic_coa/__manifest__.py | 29 | ||||
| -rw-r--r-- | addons/l10n_generic_coa/data/account.account.template.csv | 35 | ||||
| -rw-r--r-- | addons/l10n_generic_coa/data/l10n_generic_coa.xml | 12 | ||||
| -rw-r--r-- | addons/l10n_generic_coa/data/l10n_generic_coa_post.xml | 103 | ||||
| -rw-r--r-- | addons/l10n_generic_coa/demo/account_bank_statement_demo.xml | 129 | ||||
| -rw-r--r-- | addons/l10n_generic_coa/demo/account_invoice_demo.xml | 208 | ||||
| -rw-r--r-- | addons/l10n_generic_coa/demo/account_reconcile_model.xml | 34 | ||||
| -rw-r--r-- | addons/l10n_generic_coa/static/src/demo/bank_statement_yourcompany_1.pdf | bin | 0 -> 23482 bytes | |||
| -rw-r--r-- | addons/l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_1.pdf | bin | 0 -> 19969 bytes | |||
| -rw-r--r-- | addons/l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_2.pdf | bin | 0 -> 47172 bytes |
11 files changed, 558 insertions, 0 deletions
diff --git a/addons/l10n_generic_coa/__init__.py b/addons/l10n_generic_coa/__init__.py new file mode 100644 index 00000000..d417dc68 --- /dev/null +++ b/addons/l10n_generic_coa/__init__.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + + +def uninstall_hook(cr, registry): + cr.execute( + "DELETE FROM ir_model_data WHERE module = 'l10n_generic_coa'" + ) diff --git a/addons/l10n_generic_coa/__manifest__.py b/addons/l10n_generic_coa/__manifest__.py new file mode 100644 index 00000000..0d62b68e --- /dev/null +++ b/addons/l10n_generic_coa/__manifest__.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Generic - Accounting', + 'version': '1.1', + 'category': 'Accounting/Localizations/Account Charts', + 'description': """ +This is the base module to manage the generic accounting chart in Odoo. +============================================================================== + +Install some generic chart of accounts. + """, + 'depends': [ + 'account', + ], + 'data': [ + 'data/l10n_generic_coa.xml', + 'data/account.account.template.csv', + 'data/l10n_generic_coa_post.xml', + ], + 'demo': [ + 'demo/account_bank_statement_demo.xml', + 'demo/account_invoice_demo.xml', + 'demo/account_reconcile_model.xml', + ], + 'uninstall_hook': 'uninstall_hook', + 'license': 'LGPL-3', +} diff --git a/addons/l10n_generic_coa/data/account.account.template.csv b/addons/l10n_generic_coa/data/account.account.template.csv new file mode 100644 index 00000000..9030e5bb --- /dev/null +++ b/addons/l10n_generic_coa/data/account.account.template.csv @@ -0,0 +1,35 @@ +"id","name","code","user_type_id/id","chart_template_id/id","tag_ids/id","reconcile" +"current_assets","Current Assets","1010","account.data_account_type_current_assets","l10n_generic_coa.configurable_chart_template","","False" +"stock_valuation","Stock Valuation","1101","account.data_account_type_current_assets","l10n_generic_coa.configurable_chart_template","","False" +"stock_in","Stock Interim (Received)","1102","account.data_account_type_current_assets","l10n_generic_coa.configurable_chart_template","","True" +"stock_out","Stock Interim (Delivered)","1103","account.data_account_type_current_assets","l10n_generic_coa.configurable_chart_template","","True" +"receivable","Account Receivable","1210","account.data_account_type_receivable","l10n_generic_coa.configurable_chart_template","","True" +"to_receive_rec","Products to receive","1211","account.data_account_type_current_assets","l10n_generic_coa.configurable_chart_template","","True" +"tax_paid","Tax Paid","1310","account.data_account_type_current_assets","l10n_generic_coa.configurable_chart_template","","False" +"tax_receivable","Tax Receivable","1320","account.data_account_type_current_assets","l10n_generic_coa.configurable_chart_template","","False" +"prepayments","Prepayments","1410","account.data_account_type_prepayments","l10n_generic_coa.configurable_chart_template","","False" +"fixed_assets","Fixed Asset","1510","account.data_account_type_fixed_assets","l10n_generic_coa.configurable_chart_template","","False" +"non_current_assets","Non-current assets","1910","account.data_account_type_non_current_assets","l10n_generic_coa.configurable_chart_template","","False" +"current_liabilities","Current Liabilities","2010","account.data_account_type_current_liabilities","l10n_generic_coa.configurable_chart_template","","False" +"payable","Account Payable","2110","account.data_account_type_payable","l10n_generic_coa.configurable_chart_template","","True" +"to_receive_pay","Bills to receive","2111","account.data_account_type_current_liabilities","l10n_generic_coa.configurable_chart_template","","True" +"tax_received","Tax Received","2510","account.data_account_type_current_liabilities","l10n_generic_coa.configurable_chart_template","","False" +"tax_payable","Tax Payable","2520","account.data_account_type_current_liabilities","l10n_generic_coa.configurable_chart_template","","False" +"non_current_liabilities","Non-current Liabilities","2910","account.data_account_type_non_current_liabilities","l10n_generic_coa.configurable_chart_template","","False" +"capital","Capital","3010","account.data_account_type_equity","l10n_generic_coa.configurable_chart_template","","False" +"dividends","Dividends","3020","account.data_account_type_equity","l10n_generic_coa.configurable_chart_template","","False" +"income","Product Sales","4000","account.data_account_type_revenue","l10n_generic_coa.configurable_chart_template","account.account_tag_operating","False" +"income_currency_exchange","Foreign Exchange Gain","4410","account.data_account_type_revenue","l10n_generic_coa.configurable_chart_template","account.account_tag_financing","False" +"cash_diff_income","Cash Difference Gain","4420","account.data_account_type_revenue","l10n_generic_coa.configurable_chart_template","account.account_tag_investing","False" +"other_income","Other Income","4500","account.data_account_type_other_income","l10n_generic_coa.configurable_chart_template","","False" +"cost_of_goods_sold","Cost of Goods Sold","5000","account.data_account_type_direct_costs","l10n_generic_coa.configurable_chart_template","account.account_tag_operating","False" +"expense","Expenses","6000","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_operating","False" +"expense_invest","Purchase of Equipments","6110","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_investing","False" +"expense_rent","Rent","6120","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_investing","False" +"expense_finance","Bank Fees","6200","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_financing","False" +"expense_salary","Salary Expenses","6300","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_operating","False" +"expense_currency_exchange","Foreign Exchange Loss","6410","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_financing","False" +"cash_diff_expense","Cash Difference Loss","6420","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_investing","False" +"expense_rd","RD Expenses","9610","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_investing","False" +"expense_sales","Sales Expenses","9620","account.data_account_type_expenses","l10n_generic_coa.configurable_chart_template","account.account_tag_investing","False" +"pos_receivable","Account Receivable (PoS)","1013","account.data_account_type_receivable","l10n_generic_coa.configurable_chart_template","","True" diff --git a/addons/l10n_generic_coa/data/l10n_generic_coa.xml b/addons/l10n_generic_coa/data/l10n_generic_coa.xml new file mode 100644 index 00000000..b729c78c --- /dev/null +++ b/addons/l10n_generic_coa/data/l10n_generic_coa.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <!-- Account Tax Group --> + <record id="configurable_chart_template" model="account.chart.template"> + <field name="name">Configurable Account Chart Template</field> + <field name="code_digits">6</field> + <field name="bank_account_code_prefix">1014</field> + <field name="cash_account_code_prefix">1015</field> + <field name="transfer_account_code_prefix">1017</field> + <field name="currency_id" ref="base.USD"/> + </record> +</odoo> diff --git a/addons/l10n_generic_coa/data/l10n_generic_coa_post.xml b/addons/l10n_generic_coa/data/l10n_generic_coa_post.xml new file mode 100644 index 00000000..5ecfaff8 --- /dev/null +++ b/addons/l10n_generic_coa/data/l10n_generic_coa_post.xml @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> +<data noupdate="1"> + <!-- Tax template for sale and purchase --> + <record id="tax_group_15" model="account.tax.group"> + <field name="name">Tax 15%</field> + </record> +</data> +<data> + <!-- Chart template account links --> + <record id="configurable_chart_template" model="account.chart.template"> + <field name="complete_tax_set" eval="False"/> + <field name="use_anglo_saxon" eval="True"/> + + <field name="property_account_receivable_id" ref="receivable"/> + <field name="property_account_payable_id" ref="payable"/> + + <field name="property_account_expense_categ_id" ref="expense"/> + <field name="property_account_income_categ_id" ref="income"/> + + <field name="property_stock_account_input_categ_id" ref="stock_in"/> + <field name="property_stock_account_output_categ_id" ref="stock_out"/> + <field name="property_stock_valuation_account_id" ref="stock_valuation"/> + + <field name="income_currency_exchange_account_id" ref="income_currency_exchange"/> + <field name="expense_currency_exchange_account_id" ref="expense_currency_exchange"/> + + <field name="default_cash_difference_income_account_id" ref="cash_diff_income"/> + <field name="default_cash_difference_expense_account_id" ref="cash_diff_expense"/> + <field name="default_pos_receivable_account_id" ref="pos_receivable"/> + + <field name="property_tax_payable_account_id" ref="tax_payable"/> + <field name="property_tax_receivable_account_id" ref="tax_receivable"/> + </record> + + <record id="sale_tax_template" model="account.tax.template"> + <field name="chart_template_id" ref="configurable_chart_template"/> + <field name="name">Tax 15%</field> + <field name="amount">15</field> + <field name="type_tax_use">sale</field> + <field name="tax_group_id" ref="tax_group_15"/> + <field name="invoice_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('tax_received'), + }), + ]"/> + <field name="refund_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('tax_received'), + }), + ]"/> + </record> + + <record id="purchase_tax_template" model="account.tax.template"> + <field name="chart_template_id" ref="configurable_chart_template"/> + <field name="name">Purchase Tax 15%</field> + <field name="amount">15</field> + <field name="type_tax_use">purchase</field> + <field name="tax_group_id" ref="tax_group_15"/> + <field name="invoice_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('tax_paid'), + }), + ]"/> + <field name="refund_repartition_line_ids" eval="[(5, 0, 0), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'base', + }), + (0,0, { + 'factor_percent': 100, + 'repartition_type': 'tax', + 'account_id': ref('tax_paid'), + }), + ]"/> + </record> + + <!-- Try to instanciate for relevant companies --> +</data> +<data noupdate="1"> + <function model="account.chart.template" name="try_loading"> + <value eval="[ref('l10n_generic_coa.configurable_chart_template')]"/> + </function> +</data> +</odoo> diff --git a/addons/l10n_generic_coa/demo/account_bank_statement_demo.xml b/addons/l10n_generic_coa/demo/account_bank_statement_demo.xml new file mode 100644 index 00000000..73c061cd --- /dev/null +++ b/addons/l10n_generic_coa/demo/account_bank_statement_demo.xml @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="1"> + <record id="demo_bank_statement_1" model="account.bank.statement"> + <field name="journal_id" model="account.journal" search="[ + ('type', '=', 'bank'), + ('company_id', '=', obj().env.company.id)]"/> + <field name="date" eval="time.strftime('%Y')+'-01-01'"/> + <field name="balance_end_real">9944.87</field> + <field name="balance_start">5103.0</field> + </record> + + <record id="demo_bank_statement_line_1" model="account.bank.statement.line"> + <field name="ref"></field> + <field name="statement_id" ref="l10n_generic_coa.demo_bank_statement_1"/> + <field name="sequence">1</field> + <field name="payment_ref" eval="'INV/%s/00002 and INV/%s/00003' % (time.strftime('%Y'), time.strftime('%Y'))"/> + <field name="journal_id" model="account.journal" search="[ + ('type', '=', 'bank'), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount">1275.0</field> + <field name="date" eval="time.strftime('%Y')+'-01-01'"/> + <field name="partner_id" ref="base.res_partner_2"/> + </record> + + <record id="demo_bank_statement_line_2" model="account.bank.statement.line"> + <field name="ref"></field> + <field name="statement_id" ref="l10n_generic_coa.demo_bank_statement_1"/> + <field name="sequence">2</field> + <field name="payment_ref">Bank fees</field> + <field name="journal_id" model="account.journal" search="[ + ('type', '=', 'bank'), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount">-32.58</field> + <field name="date" eval="time.strftime('%Y')+'-01-01'"/> + </record> + + <record id="demo_bank_statement_line_3" model="account.bank.statement.line"> + <field name="ref"></field> + <field name="statement_id" ref="l10n_generic_coa.demo_bank_statement_1"/> + <field name="sequence">3</field> + <field name="payment_ref">Prepayment</field> + <field name="journal_id" model="account.journal" search="[ + ('type', '=', 'bank'), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount">650.0</field> + <field name="date" eval="time.strftime('%Y')+'-01-01'"/> + <field name="partner_id" ref="base.res_partner_12"/> + </record> + + <record id="demo_bank_statement_line_4" model="account.bank.statement.line"> + <field name="ref"></field> + <field name="statement_id" ref="l10n_generic_coa.demo_bank_statement_1"/> + <field name="sequence">4</field> + <field name="payment_ref" eval="'First 2000 $ of invoice %s/00001' % time.strftime('%Y')"/> + <field name="journal_id" model="account.journal" search="[ + ('type', '=', 'bank'), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount">2000.0</field> + <field name="date" eval="time.strftime('%Y')+'-01-01'"/> + <field name="partner_id" ref="base.res_partner_12"/> + </record> + + <record id="demo_bank_statement_line_5" model="account.bank.statement.line"> + <field name="ref"></field> + <field name="statement_id" ref="l10n_generic_coa.demo_bank_statement_1"/> + <field name="sequence">5</field> + <field name="payment_ref">Last Year Interests</field> + <field name="journal_id" model="account.journal" search="[ + ('type', '=', 'bank'), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount">102.78</field> + <field name="date" eval="time.strftime('%Y')+'-01-01'"/> + </record> + + <record id="demo_bank_statement_line_6" model="account.bank.statement.line"> + <field name="ref"></field> + <field name="statement_id" ref="l10n_generic_coa.demo_bank_statement_1"/> + <field name="sequence">1</field> + <field name="payment_ref" eval="'INV/'+time.strftime('%Y')+'/00002'"/> + <field name="journal_id" model="account.journal" search="[ + ('type', '=', 'bank'), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount">750.0</field> + <field name="date" eval="time.strftime('%Y')+'-01-01'"/> + <field name="partner_id" ref="base.res_partner_2"/> + </record> + + <record id="demo_bank_statement_line_7" model="account.bank.statement.line"> + <field name="ref"></field> + <field name="statement_id" ref="l10n_generic_coa.demo_bank_statement_1"/> + <field name="sequence">7</field> + <field name="payment_ref">R:9772938 10/07 AX 9415116318 T:5 BRT: 100,00€ C/ croip</field> + <field name="journal_id" model="account.journal" search="[ + ('type', '=', 'bank'), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount">96.67</field> + <field name="date" eval="time.strftime('%Y')+'-01-01'"/> + <field name="partner_id" ref="base.res_partner_2"/> + </record> + + <!-- Also create a pdf attachment in chatter --> + + <record id="ir_attachment_bank_statement_1" model="ir.attachment"> + <field name="type">binary</field> + <field name="datas" type="base64" file="l10n_generic_coa/static/src/demo/bank_statement_yourcompany_1.pdf"/> + <field name="name">bank_statement_yourcompany_demo.pdf</field> + <field name="res_model">account.bank.statement</field> + <field name="res_id" ref="demo_bank_statement_1"/> + </record> + + <record id="demo_bank_statement_1" model="account.bank.statement"> + <field name="message_main_attachment_id" ref="ir_attachment_bank_statement_1"/> + </record> + + <record id="mail_message_bank_statement_1" model="mail.message"> + <field name="model">account.bank.statement</field> + <field name="res_id" ref="l10n_generic_coa.demo_bank_statement_1"/> + <field name="body">Bank statement attachment</field> + <field name="message_type">comment</field> + <field name="author_id" ref="base.partner_demo"/> + <field name="attachment_ids" eval="[(6, 0, [ref('ir_attachment_bank_statement_1')])]"/> + </record> + + <function model="account.bank.statement" name="button_post"> + <value eval="[ref('demo_bank_statement_1')]"/> + </function> + </data> +</odoo> diff --git a/addons/l10n_generic_coa/demo/account_invoice_demo.xml b/addons/l10n_generic_coa/demo/account_invoice_demo.xml new file mode 100644 index 00000000..6cccfa14 --- /dev/null +++ b/addons/l10n_generic_coa/demo/account_invoice_demo.xml @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="1"> + <!-- ==== Invoice Demo 1 with attachment ==== --> + <record id="demo_invoice_1" model="account.move"> + <field name="move_type">out_invoice</field> + <field name="partner_id" ref="base.res_partner_12"/> + <field name="invoice_user_id" ref="base.user_demo"/> + <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/> + <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/> + <field name="invoice_line_ids" eval="[ + (0, 0, {'product_id': ref('product.consu_delivery_02'), 'quantity': 5}), + (0, 0, {'product_id': ref('product.consu_delivery_03'), 'quantity': 5}), + ]"/> + </record> + + <!-- ==== Invoice Demo 2 ==== --> + <record id="demo_invoice_2" model="account.move"> + <field name="move_type">out_invoice</field> + <field name="partner_id" ref="base.res_partner_2"/> + <field name="invoice_user_id" eval="False"/> + <field name="invoice_date" eval="time.strftime('%Y-%m')+'-08'"/> + <field name="invoice_line_ids" eval="[ + (0, 0, {'product_id': ref('product.consu_delivery_03'), 'quantity': 5}), + (0, 0, {'product_id': ref('product.consu_delivery_01'), 'quantity': 20}), + ]"/> + </record> + + <!-- ==== Invoice Demo 3 ==== --> + <record id="demo_invoice_3" model="account.move"> + <field name="move_type">out_invoice</field> + <field name="partner_id" ref="base.res_partner_2"/> + <field name="invoice_user_id" eval="False"/> + <field name="invoice_date" eval="time.strftime('%Y-%m')+'-08'"/> + <field name="invoice_line_ids" eval="[ + (0, 0, {'product_id': ref('product.consu_delivery_01'), 'quantity': 5}), + (0, 0, {'product_id': ref('product.consu_delivery_03'), 'quantity': 5}), + ]"/> + </record> + + <!-- ==== Invoice Demo 4 - Create an invoice that will generate a followup ==== --> + <record id="demo_invoice_followup" model="account.move"> + <field name="move_type">out_invoice</field> + <field name="partner_id" ref="base.res_partner_2"/> + <field name="invoice_user_id" ref="base.user_demo"/> + <field name="invoice_payment_term_id" ref="account.account_payment_term_immediate"/> + + <field name="invoice_date" eval="(datetime.today() + timedelta(days=-15)).strftime('%Y-%m-%d')"/> + <field name="invoice_line_ids" eval="[ + (0, 0, {'product_id': ref('product.consu_delivery_02'), 'quantity': 5}), + (0, 0, {'product_id': ref('product.consu_delivery_03'), 'quantity': 5}), + ]"/> + </record> + + <!-- ==== Invoice Demo 5 - Draft Vendor Bill ==== --> + <record id="demo_invoice_5" model="account.move"> + <field name="move_type">in_invoice</field> + <field name="partner_id" ref="base.res_partner_12"/> + <field name="invoice_user_id" ref="base.user_demo"/> + <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/> + <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/> + <field name="invoice_line_ids" eval="[ + (0, 0, {'product_id': ref('product.product_delivery_01'), 'price_unit': 10.0, 'quantity': 1}), + (0, 0, {'product_id': ref('product.product_order_01'), 'price_unit': 4.0, 'quantity': 5}), + ]"/> + </record> + + <!-- ==== Invoice Demo 6 - Draft Vendor Bill for OCR ==== --> + + <record id="demo_invoice_extract" model="account.move" context="{'default_move_type': 'in_invoice'}"> + <field name="move_type">in_invoice</field> + <field name="invoice_user_id" ref="base.user_demo"/> + </record> + + <!-- ==== Invoice Demo 7 - Posted vendor bill ==== --> + <record id="demo_invoice_equipment_purchase" model="account.move"> + <field name="move_type">in_invoice</field> + <field name="ref">INV/2018/0057</field> + <field name="partner_id" ref="base.res_partner_12"/> + <field name="invoice_user_id" eval="False"/> + <field name="invoice_date">2018-09-17</field> + <field name="invoice_line_ids" eval="[ + (0, 0, {'name': 'Redeem Reference Number: PO02529', 'quantity': 1, 'price_unit': 541.10}) + ]"/> + </record> + + <!-- ==== Post invoices ==== --> + <!-- Ensure every detail related to the partner is set (fiscal position, payment terms, bank,...)--> + <function model="account.move" name="_onchange_partner_id"> + <value eval="[ref('demo_invoice_1')]"/> + </function> + <function model="account.move" name="_onchange_partner_id"> + <value eval="[ref('demo_invoice_2')]"/> + </function> + <function model="account.move" name="_onchange_partner_id"> + <value eval="[ref('demo_invoice_3')]"/> + </function> + <function model="account.move" name="_onchange_partner_id"> + <value eval="[ref('demo_invoice_equipment_purchase')]"/> + </function> + + <!-- Ensure the lines are consistent with the products (taxes, price, name) --> + <!-- check_move_validity=False because the dynamic lines are computed after, it is checked later at the post function --> + <function model="account.move.line" name="_onchange_product_id" context="{'check_move_validity': False}"> + <value model="account.move.line" eval="obj().search([('move_id', 'in', [ + ref('demo_invoice_1'), ref('demo_invoice_2'), ref('demo_invoice_3'), + ref('demo_invoice_followup'), ref('demo_invoice_equipment_purchase'), + ])]).ids"/> + </function> + + <!-- Recompute the taxes and receivable lines after the onchange executed above --> + <function model="account.move" name="_recompute_dynamic_lines" context="{'check_move_validity': False}"> + <value eval="[ + ref('demo_invoice_1'), ref('demo_invoice_2'), ref('demo_invoice_3'), + ref('demo_invoice_followup'), ref('demo_invoice_equipment_purchase'), + ]"/> + <value name="recompute_all_taxes" eval="True"/> + <value name="recompute_tax_base_amount" eval="True"/> + </function> + + <function model="account.move" name="action_post"> + <value eval="[ + ref('demo_invoice_1'), ref('demo_invoice_2'), ref('demo_invoice_3'), + ref('demo_invoice_followup'), ref('demo_invoice_equipment_purchase'), + ]"/> + </function> + + <!-- ==== Create attachments for posted invoices ==== --> + <record id="ir_attachment_in_invoice_1" model="ir.attachment"> + <field name="type">binary</field> + <field name="datas" type="base64" file="l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_1.pdf"/> + <field name="name">in_invoice_yourcompany_demo.pdf</field> + <field name="res_model">account.move</field> + <field name="res_id" ref="demo_invoice_extract"/> + </record> + + <record id="demo_invoice_extract" model="account.move"> + <field name="message_main_attachment_id" ref="ir_attachment_in_invoice_1"/> + </record> + + <record id="mail_message_in_invoice_1" model="mail.message"> + <field name="model">account.move</field> + <field name="res_id" ref="l10n_generic_coa.demo_invoice_extract"/> + <field name="body">Vendor Bill attachment</field> + <field name="message_type">comment</field> + <field name="author_id" ref="base.partner_demo"/> + <field name="attachment_ids" eval="[(6, 0, [ref('ir_attachment_in_invoice_1')])]"/> + </record> + + <record id="ir_attachment_in_invoice_2" model="ir.attachment"> + <field name="type">binary</field> + <field name="datas" type="base64" file="l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_2.pdf"/> + <field name="name">in_invoice_yourcompany_demo.pdf</field> + <field name="res_model">account.move</field> + <field name="res_id" ref="demo_invoice_equipment_purchase"/> + </record> + + <record id="demo_invoice_equipment_purchase" model="account.move"> + <field name="message_main_attachment_id" ref="ir_attachment_in_invoice_2"/> + </record> + + <record id="mail_message_in_invoice_2" model="mail.message"> + <field name="model">account.move</field> + <field name="res_id" ref="l10n_generic_coa.demo_invoice_equipment_purchase"/> + <field name="body">Vendor Bill attachment</field> + <field name="message_type">comment</field> + <field name="author_id" ref="base.partner_demo"/> + <field name="attachment_ids" eval="[(6, 0, [ref('ir_attachment_in_invoice_2')])]"/> + </record> + + <record id="invoice_activity_1" model="mail.activity"> + <field name="res_id" ref="l10n_generic_coa.demo_invoice_3"/> + <field name="res_model_id" ref="account.model_account_move"/> + <field name="activity_type_id" ref="mail.mail_activity_data_todo"/> + <field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/> + <field name="summary">Follow-up on payment</field> + <field name="create_uid" ref="base.user_admin"/> + <field name="user_id" ref="base.user_admin"/> + </record> + <record id="invoice_activity_2" model="mail.activity"> + <field name="res_id" ref="l10n_generic_coa.demo_invoice_2"/> + <field name="res_model_id" ref="account.model_account_move"/> + <field name="activity_type_id" ref="mail.mail_activity_data_call"/> + <field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/> + <field name="create_uid" ref="base.user_admin"/> + <field name="user_id" ref="base.user_admin"/> + </record> + <record id="invoice_activity_3" model="mail.activity"> + <field name="res_id" ref="l10n_generic_coa.demo_invoice_1"/> + <field name="res_model_id" ref="account.model_account_move"/> + <field name="activity_type_id" ref="mail.mail_activity_data_todo"/> + <field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/> + <field name="summary">Include upsell</field> + <field name="create_uid" ref="base.user_admin"/> + <field name="user_id" ref="base.user_admin"/> + </record> + <record id="invoice_activity_4" model="mail.activity"> + <field name="res_id" ref="l10n_generic_coa.demo_invoice_extract"/> + <field name="res_model_id" ref="account.model_account_move"/> + <field name="activity_type_id" ref="mail.mail_activity_data_todo"/> + <field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/> + <field name="summary">Update address</field> + <field name="create_uid" ref="base.user_admin"/> + <field name="user_id" ref="base.user_admin"/> + </record> + + </data> +</odoo> diff --git a/addons/l10n_generic_coa/demo/account_reconcile_model.xml b/addons/l10n_generic_coa/demo/account_reconcile_model.xml new file mode 100644 index 00000000..5934fdd0 --- /dev/null +++ b/addons/l10n_generic_coa/demo/account_reconcile_model.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="0"> + <record id="reconcile_from_label" model="account.reconcile.model"> + <field name="name">Line with Bank Fees</field> + <field name="rule_type">writeoff_suggestion</field> + <field name="match_label">contains</field> + <field name="match_label_param">BRT</field> + <field name="decimal_separator">,</field> + </record> + + <record id="reconcile_from_label_line1" model="account.reconcile.model.line"> + <field name="model_id" ref="l10n_generic_coa.reconcile_from_label"/> + <field name="sequence">1</field> + <field name="label">Due amount</field> + <field name="account_id" model="account.account" + search="[('user_type_id', '=', ref('account.data_account_type_revenue')), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount_type">regex</field> + <field name="amount_string">BRT: ([\d,]+)</field> + </record> + + <record id="reconcile_from_label_line2" model="account.reconcile.model.line"> + <field name="model_id" ref="l10n_generic_coa.reconcile_from_label"/> + <field name="sequence">2</field> + <field name="label">Bank Fees</field> + <field name="account_id" model="account.account" + search="[('user_type_id', '=', ref('account.data_account_type_direct_costs')), + ('company_id', '=', obj().env.company.id)]"/> + <field name="amount_type">percentage</field> + <field name="amount_string">100</field> + </record> + </data> +</odoo> diff --git a/addons/l10n_generic_coa/static/src/demo/bank_statement_yourcompany_1.pdf b/addons/l10n_generic_coa/static/src/demo/bank_statement_yourcompany_1.pdf Binary files differnew file mode 100644 index 00000000..5de72134 --- /dev/null +++ b/addons/l10n_generic_coa/static/src/demo/bank_statement_yourcompany_1.pdf diff --git a/addons/l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_1.pdf b/addons/l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_1.pdf Binary files differnew file mode 100644 index 00000000..98b6026c --- /dev/null +++ b/addons/l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_1.pdf diff --git a/addons/l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_2.pdf b/addons/l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_2.pdf Binary files differnew file mode 100644 index 00000000..59878fe1 --- /dev/null +++ b/addons/l10n_generic_coa/static/src/demo/in_invoice_yourcompany_demo_2.pdf |
