Browse Source

Merge 971245f902 into c03dcdda39

pull/188/merge
KevinBro 3 years ago
committed by GitHub
parent
commit
27a911d016
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 54
      account_financial_test_data/README.rst
  2. 6
      account_financial_test_data/__init__.py
  3. 24
      account_financial_test_data/__openerp__.py
  4. 43
      account_financial_test_data/data/account_auto_installer.xml
  5. 81
      account_financial_test_data/data/partners_data.xml
  6. 9
      account_financial_test_data/data/products_data.xml
  7. 8
      account_financial_test_data/data/settings_data.xml
  8. 5
      account_financial_test_data/models/__init__.py
  9. 36
      account_financial_test_data/models/account_installer.py
  10. 221
      account_financial_test_data/pos_install.py
  11. BIN
      account_financial_test_data/static/description/icon.png

54
account_financial_test_data/README.rst

@ -0,0 +1,54 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
===========================
Account financial test data
===========================
This module provides demo data for the repo 'account-financial-reporting'
and will allow people to test all reports properly and make tests as well.
Usage
=====
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/91/9.0
Bug Tracker
===========
Bugs are tracked on `GitHub Issues
<https://github.com/OCA/account-financial-reporting/issues>`_. In case of trouble, please
check there if your issue has already been reported. If you spotted it first,
help us smashing it by providing a detailed and welcomed feedback.
Credits
=======
Images
------
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors
------------
* Taktik
* Alex Comba <alex.comba@agilebg.com>
Maintainer
----------
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
To contribute to this module, please visit https://odoo-community.org.

6
account_financial_test_data/__init__.py

@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# © 2016 Taktik
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models
from . pos_install import post_init_hook

24
account_financial_test_data/__openerp__.py

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
# © 2016 Taktik
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'Account financial test data',
'version': '9.0.1.0.0',
'license': 'AGPL-3',
'author': "Taktik, Odoo Community Association (OCA)",
'category': 'Other',
'depends': [
"account_accountant",
"l10n_fr",
],
'demo': [],
'data': [
"data/settings_data.xml",
"data/account_auto_installer.xml",
"data/partners_data.xml",
"data/products_data.xml",
],
'post_init_hook': 'post_init_hook',
'installable': True,
}

43
account_financial_test_data/data/account_auto_installer.xml

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- Add a server action and a todo action to set accounting options for all companies without popup window -->
<record id="auto_config_charts_action_server" model="ir.actions.server">
<field name="name">Set Accounting Options for all Companies</field>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="account.model_wizard_multi_charts_accounts"/>
<field name="state">code</field>
<field name="code">
self.auto_execute(cr, uid, context=context)
config = self.next(cr, uid, [], context=context) or {}
if config.get('type') not in ('ir.actions.act_window_close',):
action = config
</field>
</record>
<record id="auto_config_charts_action_todo" model="ir.actions.todo">
<field name="action_id" ref="auto_config_charts_action_server"/>
<field name="sequence">10</field>
<field name="type">automatic</field>
<field name="state">open</field>
</record>
<record id="wmca-1" model="wizard.multi.charts.accounts">
<field name="company_id" ref="base.main_company"/>
<field name="only_one_chart_template" eval="1"/>
<field name="complete_tax_set" eval="1"/>
<field name="currency_id" ref="base.EUR"/>
<field name="chart_template_id" ref="l10n_fr.l10n_fr_pcg_chart_template"/>
<field name="sale_tax" ref="l10n_fr.tva_normale"/>
<field name="purchase_tax" ref="l10n_fr.tva_acq_normale"/>
<field name="transfer_account_id" ref="l10n_fr.pcg_58"/>
<field name="code_digits" eval="6"/>
</record>
<!-- Execute wizard multi charts accounts -->
<function model="wizard.multi.charts.accounts" name="auto_execute"/>
</data>
</openerp>

81
account_financial_test_data/data/partners_data.xml

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!--Partner a-->
<record id="data_partner_a" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER A</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<!--Partner b-->
<record id="data_partner_b" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER B</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<!--Partner c-->
<record id="data_partner_c" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER C</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<!--Partner d-->
<record id="data_partner_d" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER D</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<!--Partner e-->
<record id="data_partner_e" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER E</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<!--Partner f-->
<record id="data_partner_f" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER F</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<!--Partner g-->
<record id="data_partner_g" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER G</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
</data>
</openerp>

9
account_financial_test_data/data/products_data.xml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<record id="data_product_a" model="product.product">
<field name="name">SALES</field>
<field name="sale_ok">1</field>
</record>
</data>
</openerp>

8
account_financial_test_data/data/settings_data.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record model="res.partner" id="base.partner_root">
<field name="tz">Europe/Paris</field>
</record>
</data>
</openerp>

5
account_financial_test_data/models/__init__.py

@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# © 2016 Taktik
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import account_installer

36
account_financial_test_data/models/account_installer.py

@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
# © 2016 Taktik
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import logging
from openerp import models, api
_logger = logging.getLogger(__name__)
class AccountAccountTemplate(models.Model):
_inherit = "account.account.template"
@api.model
def generate_account(
self,
chart_template_id,
tax_template_ref,
acc_template_ref,
code_digits,
company_id):
res = super(AccountAccountTemplate, self).generate_account(
chart_template_id,
tax_template_ref,
acc_template_ref,
code_digits,
company_id
)
main_company_id = self.env['ir.model.data'].xmlid_to_res_id(
'base.main_company'
)
if company_id == main_company_id:
account_ids = []
for template_account_id in res:
account_ids.append(res[template_account_id])
return res

221
account_financial_test_data/pos_install.py

@ -0,0 +1,221 @@
# -*- coding: utf-8 -*-
from datetime import date, datetime
from openerp import SUPERUSER_ID, api
# -*- coding: utf-8 -*-
# © 2016 Taktik
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
def post_init_hook(cr, registry):
def update_partners():
"""
Set the right account on partners
"""
partner_a = env.ref('account_financial_test_data.data_partner_a')
partner_b = env.ref('account_financial_test_data.data_partner_b')
partner_c = env.ref('account_financial_test_data.data_partner_c')
partner_d = env.ref('account_financial_test_data.data_partner_d')
partner_e = env.ref('account_financial_test_data.data_partner_e')
partner_f = env.ref('account_financial_test_data.data_partner_f')
partner_g = env.ref('account_financial_test_data.data_partner_g')
account_a_receivable = env['account.account'].search(
[('code', '=', '411700')]
)
account_receivable = env['account.account'].search(
[('code', '=', '411100')]
)
account_payable = env['account.account'].search(
[('code', '=', '401100')]
)
partner_a.property_account_receivable_id = account_a_receivable[0]
partner_a.property_account_payable_id = account_payable[0]
partners_list = [
partner_b,
partner_c,
partner_d,
partner_e,
partner_f,
partner_g
]
for partner in partners_list:
partner.property_account_receivable_id = account_receivable[0]
partner.property_account_payable_id = account_payable[0]
return True
def update_account_settings():
"""
Configure account settings
"""
account_setting_obj = env['account.config.settings']
account_setting = account_setting_obj.create({})
account_setting.group_multi_currency = True
account_setting.default_sale_tax_id = env.ref('l10n_fr.tva_normale').id
account_setting.default_purchase_tax_id = env.ref(
'l10n_fr.tva_normale').id
account_setting.execute()
return True
def update_account():
"""
Change the name and currency of 411700
"""
account_to_update = env['account.account'].search(
[('code', '=', '411700')]
)[0]
account_to_update.name = "Clients - USD"
account_to_update.currency_id = env.ref('base.USD').id
return True
def update_product():
"""
Update the product with the right settings
"""
product = env.ref('account_financial_test_data.data_product_a')
product.standard_price = 1000
product.lst_price = 1000
product.taxes_id = [
(6, 0, [env.ref('l10n_fr.tva_normale').id])
]
product.supplier_taxes_id = [
(6, 0, [env.ref('l10n_fr.tva_acq_normale_TTC').id])
]
income_account = env['account.account'].search([
('code', '=', '707100')
])[0]
expense_account = env['account.account'].search([
('code', '=', '607100')
])[0]
product.property_account_income_id = income_account
product.property_account_expense_id = expense_account
return True
def create_invoices():
"""
Creates all necessary invoices
"""
now = datetime.now()
this_year = now.year
last_year = now.year - 1
invoice_obj = env['account.invoice']
# invoice_a
invoice_obj.create({
'partner_id': env.ref(
'account_financial_test_data.data_partner_c').id,
'account_id': env.ref(
'account_financial_test_data.data_partner_c'
).property_account_receivable_id.id,
'type': 'out_invoice',
'date_invoice': date(last_year, 1, 5),
'date_due': date(last_year, 1, 31),
})
# invoice_b
invoice_obj.create({
'partner_id': env.ref(
'account_financial_test_data.data_partner_a').id,
'type': 'out_invoice',
'account_id': env.ref(
'account_financial_test_data.data_partner_a'
).property_account_receivable_id.id,
'date_invoice': date(last_year, 1, 5),
'date_due': date(last_year, 2, 4),
})
# invoice_c
invoice_obj.create({
'partner_id': env.ref(
'account_financial_test_data.data_partner_d').id,
'type': 'out_invoice',
'account_id': env.ref(
'account_financial_test_data.data_partner_d'
).property_account_receivable_id.id,
'date_invoice': date(last_year, 12, 11),
'date_due': date(this_year, 3, 10),
})
# invoice_d
invoice_obj.create({
'partner_id': env.ref(
'account_financial_test_data.data_partner_g').id,
'type': 'out_refund',
'account_id': env.ref(
'account_financial_test_data.data_partner_g'
).property_account_receivable_id.id,
'date_invoice': date(this_year, 1, 3),
'date_due': date(this_year, 4, 15),
})
# invoice_e
invoice_obj.create({
'partner_id': env.ref(
'account_financial_test_data.data_partner_b').id,
'type': 'out_invoice',
'account_id': env.ref(
'account_financial_test_data.data_partner_b'
).property_account_receivable_id.id,
'date_invoice': date(this_year, 2, 3),
'date_due': date(this_year, 2, 15),
})
# invoice_f
invoice_obj.create({
'partner_id': env.ref(
'account_financial_test_data.data_partner_a').id,
'type': 'out_invoice',
'account_id': env.ref(
'account_financial_test_data.data_partner_a'
).property_account_receivable_id.id,
'date_invoice': date(this_year, 2, 23),
'date_due': date(this_year, 3, 24),
})
# invoice_g
invoice_obj.create({
'partner_id': env.ref(
'account_financial_test_data.data_partner_g').id,
'type': 'out_invoice',
'account_id': env.ref(
'account_financial_test_data.data_partner_g'
).property_account_receivable_id.id,
'date_invoice': date(this_year, 3, 17),
'date_due': date(this_year, 4, 15),
})
# invoice_h
invoice_obj.create({
'partner_id': env.ref(
'account_financial_test_data.data_partner_f').id,
'type': 'out_invoice',
'account_id': env.ref(
'account_financial_test_data.data_partner_f'
).property_account_receivable_id.id,
'date_invoice': date(this_year, 3, 17),
'date_due': date(this_year, 4, 15),
})
return True
env = api.Environment(cr, SUPERUSER_ID, {})
update_partners()
update_account_settings()
update_account()
update_product()
create_invoices()

BIN
account_financial_test_data/static/description/icon.png

After

Width: 128  |  Height: 128  |  Size: 9.2 KiB

Loading…
Cancel
Save