Merge lp:~camptocamp/c2c-financial-addons/7.0-cleanup-moved-modules-lep into lp:c2c-financial-addons/7.0

Proposed by Leonardo Pistone
Status: Merged
Merged at revision: 100
Proposed branch: lp:~camptocamp/c2c-financial-addons/7.0-cleanup-moved-modules-lep
Merge into: lp:c2c-financial-addons/7.0
Diff against target: 30508 lines (+0/-29466)
191 files modified
account_consolidation/__init__.py (+0/-3)
account_consolidation/__openerp__.py (+0/-72)
account_consolidation/account.py (+0/-77)
account_consolidation/account_view.xml (+0/-54)
account_consolidation/company.py (+0/-44)
account_consolidation/company_view.xml (+0/-21)
account_consolidation/consolidation_menu.xml (+0/-23)
account_consolidation/demo/chart_a_demo.xml (+0/-340)
account_consolidation/demo/chart_b_demo.xml (+0/-337)
account_consolidation/demo/consolidation_demo.xml (+0/-316)
account_consolidation/test/consolidation_checks.yml (+0/-109)
account_consolidation/test/consolidation_consolidate.yml (+0/-44)
account_consolidation/test/test_data.yml (+0/-314)
account_consolidation/wizard/__init__.py (+0/-3)
account_consolidation/wizard/consolidation_base.py (+0/-302)
account_consolidation/wizard/consolidation_check.py (+0/-109)
account_consolidation/wizard/consolidation_check_view.xml (+0/-45)
account_consolidation/wizard/consolidation_consolidate.py (+0/-444)
account_consolidation/wizard/consolidation_consolidate_view.xml (+0/-52)
account_credit_control/__init__.py (+0/-28)
account_credit_control/__openerp__.py (+0/-80)
account_credit_control/account.py (+0/-73)
account_credit_control/account_view.xml (+0/-30)
account_credit_control/company.py (+0/-40)
account_credit_control/company_view.xml (+0/-16)
account_credit_control/credit_control_demo.xml (+0/-33)
account_credit_control/data.xml (+0/-236)
account_credit_control/i18n/account_credit_control.pot (+0/-787)
account_credit_control/i18n/en.po (+0/-1026)
account_credit_control/i18n/fr.po (+0/-965)
account_credit_control/line.py (+0/-196)
account_credit_control/line_view.xml (+0/-148)
account_credit_control/partner.py (+0/-44)
account_credit_control/partner_view.xml (+0/-25)
account_credit_control/policy.py (+0/-379)
account_credit_control/policy_view.xml (+0/-121)
account_credit_control/report/__init__.py (+0/-1)
account_credit_control/report/credit_control_summary.html.mako (+0/-22)
account_credit_control/report/credit_control_summary.py (+0/-37)
account_credit_control/report/report.xml (+0/-12)
account_credit_control/run.py (+0/-153)
account_credit_control/run_view.xml (+0/-65)
account_credit_control/security/ir.model.access.csv (+0/-18)
account_credit_control/wizard/__init__.py (+0/-24)
account_credit_control/wizard/credit_control_communication.py (+0/-181)
account_credit_control/wizard/credit_control_emailer.py (+0/-83)
account_credit_control/wizard/credit_control_emailer_view.xml (+0/-44)
account_credit_control/wizard/credit_control_marker.py (+0/-101)
account_credit_control/wizard/credit_control_marker_view.xml (+0/-45)
account_credit_control/wizard/credit_control_printer.py (+0/-89)
account_credit_control/wizard/credit_control_printer_view.xml (+0/-49)
account_financial_report_webkit/__init__.py (+0/-23)
account_financial_report_webkit/__openerp__.py (+0/-132)
account_financial_report_webkit/account.py (+0/-45)
account_financial_report_webkit/account_move_line.py (+0/-89)
account_financial_report_webkit/account_move_line_view.xml (+0/-23)
account_financial_report_webkit/account_view.xml (+0/-18)
account_financial_report_webkit/data/financial_webkit_header.xml (+0/-409)
account_financial_report_webkit/i18n/account_financial_report_webkit.pot (+0/-1284)
account_financial_report_webkit/i18n/de.po (+0/-1238)
account_financial_report_webkit/i18n/en_US.po (+0/-1160)
account_financial_report_webkit/i18n/fr.po (+0/-1160)
account_financial_report_webkit/report/__init__.py (+0/-11)
account_financial_report_webkit/report/common_balance_reports.py (+0/-272)
account_financial_report_webkit/report/common_partner_balance_reports.py (+0/-275)
account_financial_report_webkit/report/common_partner_reports.py (+0/-326)
account_financial_report_webkit/report/common_reports.py (+0/-520)
account_financial_report_webkit/report/general_ledger.py (+0/-211)
account_financial_report_webkit/report/open_invoices.py (+0/-238)
account_financial_report_webkit/report/partner_balance.py (+0/-90)
account_financial_report_webkit/report/partners_ledger.py (+0/-199)
account_financial_report_webkit/report/profit_loss.py (+0/-115)
account_financial_report_webkit/report/report.xml (+0/-104)
account_financial_report_webkit/report/templates/account_report_general_ledger.mako (+0/-232)
account_financial_report_webkit/report/templates/account_report_open_invoices.mako (+0/-85)
account_financial_report_webkit/report/templates/account_report_partner_balance.mako (+0/-290)
account_financial_report_webkit/report/templates/account_report_partners_ledger.mako (+0/-281)
account_financial_report_webkit/report/templates/account_report_profit_loss.mako (+0/-210)
account_financial_report_webkit/report/templates/account_report_trial_balance.mako (+0/-217)
account_financial_report_webkit/report/templates/grouped_by_curr_open_invoices_inclusion.mako.html (+0/-166)
account_financial_report_webkit/report/templates/open_invoices_inclusion.mako.html (+0/-176)
account_financial_report_webkit/report/trial_balance.py (+0/-82)
account_financial_report_webkit/report/webkit_parser_header_fix.py (+0/-235)
account_financial_report_webkit/report_menus.xml (+0/-26)
account_financial_report_webkit/tests/account_move_line.yml (+0/-3)
account_financial_report_webkit/tests/general_ledger.yml (+0/-65)
account_financial_report_webkit/tests/open_invoices.yml (+0/-60)
account_financial_report_webkit/tests/partner_balance.yml (+0/-67)
account_financial_report_webkit/tests/partner_ledger.yml (+0/-60)
account_financial_report_webkit/tests/trial_balance.yml (+0/-67)
account_financial_report_webkit/wizard/__init__.py (+0/-27)
account_financial_report_webkit/wizard/balance_common.py (+0/-295)
account_financial_report_webkit/wizard/balance_common_view.xml (+0/-11)
account_financial_report_webkit/wizard/general_ledger_wizard.py (+0/-132)
account_financial_report_webkit/wizard/general_ledger_wizard_view.xml (+0/-89)
account_financial_report_webkit/wizard/open_invoices_wizard.py (+0/-126)
account_financial_report_webkit/wizard/open_invoices_wizard_view.xml (+0/-73)
account_financial_report_webkit/wizard/partner_balance_wizard.py (+0/-64)
account_financial_report_webkit/wizard/partner_balance_wizard_view.xml (+0/-85)
account_financial_report_webkit/wizard/partners_ledger_wizard.py (+0/-116)
account_financial_report_webkit/wizard/partners_ledger_wizard_view.xml (+0/-69)
account_financial_report_webkit/wizard/profit_loss_wizard.py (+0/-166)
account_financial_report_webkit/wizard/profit_loss_wizard_view.xml (+0/-72)
account_financial_report_webkit/wizard/trial_balance_wizard.py (+0/-41)
account_financial_report_webkit/wizard/trial_balance_wizard_view.xml (+0/-78)
account_financial_report_webkit/wizard/wizard.xml (+0/-4)
analytic_multicurrency/__init__.py (+0/-31)
analytic_multicurrency/__openerp__.py (+0/-71)
analytic_multicurrency/account_analytic_line.py (+0/-106)
analytic_multicurrency/analytic.py (+0/-106)
analytic_multicurrency/analytic_analysis.py (+0/-108)
analytic_multicurrency/analytic_view.xml (+0/-91)
analytic_secondaxis/__init__.py (+0/-33)
analytic_secondaxis/__openerp__.py (+0/-73)
analytic_secondaxis/analytic_secondaxis.py (+0/-312)
analytic_secondaxis/analytic_secondaxis_demo.xml (+0/-102)
analytic_secondaxis/analytic_secondaxis_view.xml (+0/-180)
analytic_secondaxis/i18n/analytic_secondaxis.pot (+0/-210)
analytic_secondaxis/i18n/fr.po (+0/-250)
analytic_secondaxis/security/ir.model.access.csv (+0/-3)
analytic_secondaxis/wizard/__init__.py (+0/-32)
analytic_secondaxis/wizard/analytic_activity_chart.py (+0/-52)
analytic_secondaxis/wizard/analytic_activity_chart_view.xml (+0/-45)
analytic_secondaxis_multicurrency/__init__.py (+0/-32)
analytic_secondaxis_multicurrency/__openerp__.py (+0/-64)
analytic_secondaxis_multicurrency/analytic_secondaxis.py (+0/-102)
analytic_secondaxis_project/__init__.py (+0/-32)
analytic_secondaxis_project/__openerp__.py (+0/-63)
analytic_secondaxis_project/analytic_secondaxis.py (+0/-93)
analytic_secondaxis_project/analytic_secondaxis_view.xml (+0/-72)
analytic_secondaxis_project/security/ir.model.access.csv (+0/-2)
analytic_secondaxis_timesheet/__init__.py (+0/-31)
analytic_secondaxis_timesheet/__openerp__.py (+0/-63)
analytic_secondaxis_timesheet/analytic_secondaxis_view.xml (+0/-64)
c2c_budget/__init__.py (+0/-38)
c2c_budget/__terp__.py (+0/-56)
c2c_budget/account.py (+0/-152)
c2c_budget/analytic_account.py (+0/-81)
c2c_budget/c2c_budget.py (+0/-204)
c2c_budget/c2c_budget_item.py (+0/-560)
c2c_budget/c2c_budget_line.py (+0/-372)
c2c_budget/c2c_budget_report_abstraction.py (+0/-56)
c2c_budget/c2c_budget_version.py (+0/-362)
c2c_budget/c2c_budget_view.xml (+0/-440)
c2c_budget/c2c_budget_wizard.xml (+0/-128)
c2c_budget/c2c_budget_wizard_abstraction.py (+0/-139)
c2c_budget/i18n/sv.po (+0/-22)
c2c_budget/report/__init__.py (+0/-34)
c2c_budget/report/budget_by_period.py (+0/-241)
c2c_budget/report/budget_consolidation.py (+0/-127)
c2c_budget/report/budget_vs_reality.py (+0/-159)
c2c_budget/report/compare_versions.py (+0/-127)
c2c_budget/report/helper.py (+0/-73)
c2c_budget/security/ir.model.access.csv (+0/-7)
c2c_budget/wizard/__init__.py (+0/-37)
c2c_budget/wizard/advanced_search.py (+0/-162)
c2c_budget/wizard/budget_by_period.py (+0/-228)
c2c_budget/wizard/budget_consolidation.py (+0/-136)
c2c_budget/wizard/budget_vs_reality.py (+0/-126)
c2c_budget/wizard/budgetlines_from_aa.py (+0/-184)
c2c_budget/wizard/compare_versions.py (+0/-133)
c2c_budget/wizard/validate_budget_structure.py (+0/-317)
currency_rate_update/__init__.py (+0/-33)
currency_rate_update/__openerp__.py (+0/-92)
currency_rate_update/company.py (+0/-164)
currency_rate_update/company_view.xml (+0/-23)
currency_rate_update/currency_rate_update.py (+0/-557)
currency_rate_update/currency_rate_update.xml (+0/-36)
currency_rate_update/i18n/fr_FR.po (+0/-191)
currency_rate_update/i18n/pl_PL.po (+0/-192)
currency_rate_update/security/security.xml (+0/-67)
currency_rate_update/wizard/__init__.py (+0/-30)
invoice_department/__init__.py (+0/-31)
invoice_department/__openerp__.py (+0/-53)
invoice_department/i18n/es.po (+0/-23)
invoice_department/i18n/invoice_department.pot (+0/-22)
invoice_department/invoice.py (+0/-45)
invoice_department/invoice_view.xml (+0/-60)
invoice_validation_wkfl/__init__.py (+0/-29)
invoice_validation_wkfl/__openerp__.py (+0/-57)
invoice_validation_wkfl/invoice.py (+0/-220)
invoice_validation_wkfl/invoice_view.xml (+0/-62)
invoice_validation_wkfl/invoice_wkf.xml (+0/-53)
migration_progress.txt (+0/-23)
scan_bvr/__init__.py (+0/-32)
scan_bvr/__openerp__.py (+0/-53)
scan_bvr/i18n/fr_BE.po (+0/-99)
scan_bvr/i18n/sv.po (+0/-22)
scan_bvr/wizard/__init__.py (+0/-32)
scan_bvr/wizard/scan_bvr.py (+0/-411)
scan_bvr/wizard/scan_bvr_view.xml (+0/-58)
To merge this branch: bzr merge lp:~camptocamp/c2c-financial-addons/7.0-cleanup-moved-modules-lep
Reviewer Review Type Date Requested Status
Yannick Vaucher @ Camptocamp Approve
Review via email: mp+229443@code.launchpad.net

Description of the change

Many of the modules here have been included under the OCA umbrella. In those cases, this MP deletes them from the c2c-financial-addons to avoid confusion. Every commit includes a link to the new location. The branch is abandoned already in fact, but those modules still show up here and there, and having commits that delete them seems a good idea to me.

If any modules that I didn't delete have been moved, please let me know.

To post a comment you must log in.
Revision history for this message
Yannick Vaucher @ Camptocamp (yvaucher-c2c) wrote :

Ok to remove all those modules

Can you also update this file?

http://bazaar.launchpad.net/~camptocamp/c2c-financial-addons/7.0-cleanup-moved-modules-lep/view/head:/migration_progress.txt

By adding a category moved or by removing them

review: Approve
110. By Leonardo Pistone

remove old modules from migration_progress.txt

Revision history for this message
Leonardo Pistone (lepistone) wrote :

Yannick,

done. I also removed from the files some other modules that were removed already.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory 'account_consolidation'
2=== removed file 'account_consolidation/__init__.py'
3--- account_consolidation/__init__.py 2011-08-12 15:39:07 +0000
4+++ account_consolidation/__init__.py 1970-01-01 00:00:00 +0000
5@@ -1,3 +0,0 @@
6-import company
7-import account
8-import wizard
9
10=== removed file 'account_consolidation/__openerp__.py'
11--- account_consolidation/__openerp__.py 2012-04-11 07:52:09 +0000
12+++ account_consolidation/__openerp__.py 1970-01-01 00:00:00 +0000
13@@ -1,72 +0,0 @@
14-# -*- coding: utf-8 -*-
15-##############################################################################
16-#
17-# Copyright (c) 2011 Camptocamp SA (http://www.camptocamp.com)
18-# All Right Reserved
19-#
20-# Author : Guewen Baconnier (Camptocamp)
21-#
22-# WARNING: This program as such is intended to be used by professional
23-# programmers who take the whole responsability of assessing all potential
24-# consequences resulting from its eventual inadequacies and bugs
25-# End users who are looking for a ready-to-use solution with commercial
26-# garantees and support are strongly adviced to contract a Free Software
27-# Service Company
28-#
29-# This program is Free Software; you can redistribute it and/or
30-# modify it under the terms of the GNU General Public License
31-# as published by the Free Software Foundation; either version 2
32-# of the License, or (at your option) any later version.
33-#
34-# This program is distributed in the hope that it will be useful,
35-# but WITHOUT ANY WARRANTY; without even the implied warranty of
36-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37-# GNU General Public License for more details.
38-#
39-# You should have received a copy of the GNU General Public License
40-# along with this program; if not, write to the Free Software
41-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
42-#
43-##############################################################################
44-
45-
46-{
47- "name" : "Account Consolidation",
48- "version" : "0.0",
49- "author" : "Camptocamp",
50- "category" : "Generic Modules/Accounting",
51- "description":
52-"""
53-Account consolidation module. Coding in progress...
54-
55-Some explanations to do...
56-
57- - Difference between debit/credit is balanced on the debit/credit default account of the journal?
58-""",
59- "website": "http://www.camptocamp.com",
60- "depends" : [
61- 'base',
62- 'account',
63- 'account_reversal',
64- ],
65- "init_xml" : [],
66- "demo_xml" : [
67- 'demo/consolidation_demo.xml',
68- 'demo/chart_a_demo.xml',
69- 'demo/chart_b_demo.xml',
70- ],
71- "update_xml" : [
72- 'company_view.xml',
73- 'account_view.xml',
74- 'wizard/consolidation_check_view.xml',
75- 'wizard/consolidation_consolidate_view.xml',
76- 'consolidation_menu.xml',
77- ],
78- 'test': [
79- 'test/test_data.yml',
80- 'test/consolidation_checks.yml',
81- 'test/consolidation_consolidate.yml',
82- ],
83- "active": False,
84- "installable": True
85-}
86
87=== removed file 'account_consolidation/account.py'
88--- account_consolidation/account.py 2011-08-29 14:04:57 +0000
89+++ account_consolidation/account.py 1970-01-01 00:00:00 +0000
90@@ -1,77 +0,0 @@
91-# -*- coding: utf-8 -*-
92-##############################################################################
93-#
94-# Copyright (c) 2011 Camptocamp SA (http://www.camptocamp.com)
95-#
96-# Author : Guewen Baconnier (Camptocamp)
97-#
98-# WARNING: This program as such is intended to be used by professional
99-# programmers who take the whole responsability of assessing all potential
100-# consequences resulting from its eventual inadequacies and bugs
101-# End users who are looking for a ready-to-use solution with commercial
102-# garantees and support are strongly adviced to contract a Free Software
103-# Service Company
104-#
105-# This program is Free Software; you can redistribute it and/or
106-# modify it under the terms of the GNU General Public License
107-# as published by the Free Software Foundation; either version 2
108-# of the License, or (at your option) any later version.
109-#
110-# This program is distributed in the hope that it will be useful,
111-# but WITHOUT ANY WARRANTY; without even the implied warranty of
112-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
113-# GNU General Public License for more details.
114-#
115-# You should have received a copy of the GNU General Public License
116-# along with this program; if not, write to the Free Software
117-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
118-#
119-##############################################################################
120-
121-from osv import osv, fields
122-
123-
124-class account_account(osv.osv):
125- _inherit = 'account.account'
126-
127- _columns = {
128- 'consolidation_rate_type_id': fields.many2one('res.currency.rate.type',
129- 'Consolidation Currency Rate Type',
130- help="Currency rate type used on this account for the consolidation, Leave empty to use the rate type of the account type."),
131- 'consolidation_mode': fields.selection([('', ''),
132- ('ytd', 'YTD'),
133- ('period', 'Period Movements'),
134- ],
135- 'Consolidation Mode'),
136- }
137-
138-account_account()
139-
140-
141-class account_account_type(osv.osv):
142- _inherit = 'account.account.type'
143-
144- _columns = {
145- 'consolidation_rate_type_id': fields.many2one('res.currency.rate.type',
146- 'Consolidation Currency Rate Type',
147- help="Currency rate type used on this account type for the consolidation, Leave empty to use the 'spot' rate type."),
148- 'consolidation_mode': fields.selection([('ytd', 'YTD'),
149- ('period', 'Period Movements'),],
150- 'Consolidation Mode'),
151- }
152-
153- _defaults = {
154- 'consolidation_mode': 'ytd',
155- }
156-
157-account_account_type()
158-
159-
160-class account_move(osv.osv):
161- _inherit = 'account.move'
162-
163- _columns = {
164- 'consol_company_id': fields.many2one('res.company', 'Consolidated from Company', readonly=True),
165- }
166-
167-account_move()
168
169=== removed file 'account_consolidation/account_view.xml'
170--- account_consolidation/account_view.xml 2011-08-29 14:04:57 +0000
171+++ account_consolidation/account_view.xml 1970-01-01 00:00:00 +0000
172@@ -1,54 +0,0 @@
173-<?xml version="1.0" encoding="utf-8"?>
174-<openerp>
175- <data>
176-
177- <record id="view_account_consolidation_form" model="ir.ui.view">
178- <field name="name">account.account.consolidation.form</field>
179- <field name="model">account.account</field>
180- <field name="inherit_id" ref="account.view_account_form"/>
181- <field name="type">form</field>
182- <field name="arch" type="xml">
183- <data>
184- <xpath expr="/form/notebook/page[@string='General Information']/group[2]" position="after">
185- <group col="2" colspan="2">
186- <separator string="Consolidation" colspan="2"/>
187- <field name="consolidation_rate_type_id" widget="selection"/>
188- <field name="consolidation_mode"/>
189- </group>
190- </xpath>
191-
192- </data>
193- </field>
194- </record>
195-
196- <record id="view_account_type_consolidation_form" model="ir.ui.view">
197- <field name="name">account.account.type.consolidation.form</field>
198- <field name="model">account.account.type</field>
199- <field name="inherit_id" ref="account.view_account_type_form" />
200- <field name="type">form</field>
201- <field name="arch" type="xml">
202- <separator string="Description" position="before">
203- <group col="2" colspan="2">
204- <separator string="Consolidation" colspan="4"/>
205- <field name="consolidation_rate_type_id" widget="selection"/>
206- <field name="consolidation_mode"/>
207- </group>
208- </separator>
209- </field>
210- </record>
211-
212- <record id="view_move_consolidation_form" model="ir.ui.view">
213- <field name="name">account.move.consolidation.form</field>
214- <field name="model">account.move</field>
215- <field name="inherit_id" ref="account.view_move_form"/>
216- <field name="type">form</field>
217- <field name="arch" type="xml">
218- <field name="company_id" position="after">
219- <field name="consol_company_id" attrs="{'invisible': [('consol_company_id', '=', False)]}"/>
220- </field>
221- </field>
222- </record>
223-
224- </data>
225-</openerp>
226-
227
228=== removed file 'account_consolidation/company.py'
229--- account_consolidation/company.py 2011-08-19 07:16:03 +0000
230+++ account_consolidation/company.py 1970-01-01 00:00:00 +0000
231@@ -1,44 +0,0 @@
232-# -*- coding: utf-8 -*-
233-##############################################################################
234-#
235-# Copyright (c) 2011 Camptocamp SA (http://www.camptocamp.com)
236-# All Right Reserved
237-#
238-# Author : Guewen Baconnier (Camptocamp)
239-#
240-# WARNING: This program as such is intended to be used by professional
241-# programmers who take the whole responsability of assessing all potential
242-# consequences resulting from its eventual inadequacies and bugs
243-# End users who are looking for a ready-to-use solution with commercial
244-# garantees and support are strongly adviced to contract a Free Software
245-# Service Company
246-#
247-# This program is Free Software; you can redistribute it and/or
248-# modify it under the terms of the GNU General Public License
249-# as published by the Free Software Foundation; either version 2
250-# of the License, or (at your option) any later version.
251-#
252-# This program is distributed in the hope that it will be useful,
253-# but WITHOUT ANY WARRANTY; without even the implied warranty of
254-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
255-# GNU General Public License for more details.
256-#
257-# You should have received a copy of the GNU General Public License
258-# along with this program; if not, write to the Free Software
259-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
260-#
261-##############################################################################
262-
263-from osv import osv, fields
264-
265-
266-class res_company(osv.osv):
267- _inherit = 'res.company'
268-
269- _columns = {
270- 'consolidation_chart_account_id': fields.many2one('account.account',
271- 'Chart of Accounts for Consolidation',
272- domain=[('parent_id', '=', False)]),
273- }
274-
275-res_company()
276
277=== removed file 'account_consolidation/company_view.xml'
278--- account_consolidation/company_view.xml 2011-08-19 07:16:03 +0000
279+++ account_consolidation/company_view.xml 1970-01-01 00:00:00 +0000
280@@ -1,21 +0,0 @@
281-<?xml version="1.0" encoding="utf-8"?>
282-<openerp>
283- <data>
284-
285- <record model="ir.ui.view" id="view_company_inherit_form">
286- <field name="name">res.company.form.inherit</field>
287- <field name="inherit_id" ref="base.view_company_form"/>
288- <field name="model">res.company</field>
289- <field name="type">form</field>
290- <field name="arch" type="xml">
291- <page string="Configuration" position="inside">
292- <group col="2" colspan="2">
293- <separator string="Accounts Consolidation" colspan="2"/>
294- <field name="consolidation_chart_account_id" colspan="2"/>
295- </group>
296- </page>
297- </field>
298- </record>
299-
300- </data>
301-</openerp>
302
303=== removed file 'account_consolidation/consolidation_menu.xml'
304--- account_consolidation/consolidation_menu.xml 2011-08-12 15:39:07 +0000
305+++ account_consolidation/consolidation_menu.xml 1970-01-01 00:00:00 +0000
306@@ -1,23 +0,0 @@
307-<?xml version="1.0" encoding="utf-8"?>
308-<openerp>
309- <data>
310-
311- <menuitem
312- name="Consolidation"
313- parent="account.menu_finance_periodical_processing"
314- id="menu_consolidation"/>
315-
316- <menuitem
317- name="Consolidation: Checks"
318- parent="menu_consolidation"
319- action="action_consolidation_checks"
320- id="menu_consolidation_checks"/>
321-
322- <menuitem
323- name="Consolidation: Consolidate"
324- parent="menu_consolidation"
325- action="action_consolidation_consolidate"
326- id="menu_consolidation_consolidate"/>
327-
328- </data>
329- </openerp>
330
331=== removed directory 'account_consolidation/demo'
332=== removed file 'account_consolidation/demo/chart_a_demo.xml'
333--- account_consolidation/demo/chart_a_demo.xml 2012-04-11 07:50:19 +0000
334+++ account_consolidation/demo/chart_a_demo.xml 1970-01-01 00:00:00 +0000
335@@ -1,340 +0,0 @@
336-<?xml version="1.0" encoding="utf-8"?>
337-<openerp>
338- <data>
339-
340- <!--
341- Chart of Account A
342- -->
343-
344- <record id="chart_subsidiary_a" model="account.account">
345- <field name="code">X0</field>
346- <field name="name">Chart For Automated Tests A</field>
347- <field eval="0" name="parent_id"/>
348- <field name="type">view</field>
349- <field name="user_type" ref="account.data_account_type_view"/>
350- <field name="company_id" ref="subsidiary_a"/>
351- </record>
352-
353- <!-- Balance Sheet -->
354-
355- <record id="bal_a" model="account.account">
356- <field name="code">X1</field>
357- <field name="name">Balance Sheet - (test)</field>
358- <field ref="chart_subsidiary_a" name="parent_id"/>
359- <field name="type">view</field>
360- <field name="user_type" ref="account.data_account_type_view"/>
361- <field name="company_id" ref="subsidiary_a"/>
362- </record>
363-
364- <record model="account.account" id="assets_view_a">
365- <field name="name">Assets - (test)</field>
366- <field name="code">X10</field>
367- <field name="type">view</field>
368- <field name="user_type" ref="account.data_account_type_asset"/>
369- <field name="reconcile" eval="False"/>
370- <field name="parent_id" ref="bal_a"/>
371- <field name="company_id" ref="subsidiary_a"/>
372- </record>
373-
374- <record id="fas_a" model="account.account">
375- <field name="code">X100</field>
376- <field name="name">Fixed Assets - (test)</field>
377- <field ref="assets_view_a" name="parent_id"/>
378- <field name="type">view</field>
379- <field name="user_type" ref="account.data_account_type_asset"/>
380- <field name="company_id" ref="subsidiary_a"/>
381- </record>
382-
383- <record id="xfa_a" model="account.account">
384- <field name="code">X1000</field>
385- <field name="name">Fixed Asset Account - (test)</field>
386- <field ref="fas_a" name="parent_id"/>
387- <field name="type">other</field>
388- <field name="user_type" ref="account.data_account_type_asset"/>
389- <field name="company_id" ref="subsidiary_a"/>
390- </record>
391-
392- <record id="nca_a" model="account.account">
393- <field name="code">X101</field>
394- <field name="name">Net Current Assets - (test)</field>
395- <field ref="assets_view_a" name="parent_id"/>
396- <field name="type">view</field>
397- <field name="user_type" ref="account.data_account_type_asset"/>
398- <field name="company_id" ref="subsidiary_a"/>
399- </record>
400-
401- <record id="cas_a" model="account.account">
402- <field name="code">X1100</field>
403- <field name="name">Current Assets - (test)</field>
404- <field ref="nca_a" name="parent_id"/>
405- <field name="type">view</field>
406- <field name="user_type" ref="account.data_account_type_asset"/>
407- <field name="company_id" ref="subsidiary_a"/>
408- </record>
409-
410- <record id="stk_a" model="account.account">
411- <field name="code">X11001</field>
412- <field name="name">Purchased Stocks - (test)</field>
413- <field ref="cas_a" name="parent_id"/>
414- <field name="type">other</field>
415- <field name="user_type" ref="account.data_account_type_asset"/>
416- <field name="company_id" ref="subsidiary_a"/>
417- </record>
418-
419- <record id="a_recv_a" model="account.account">
420- <field name="code">X11002</field>
421- <field name="name">Debtors - (test)</field>
422- <field ref="cas_a" name="parent_id"/>
423- <field name="type">receivable</field>
424- <field eval="True" name="reconcile"/>
425- <field name="user_type" ref="account.data_account_type_receivable"/>
426- <field name="company_id" ref="subsidiary_a"/>
427- </record>
428-
429- <record id="ova_a" model="account.account">
430- <field name="code">X11003</field>
431- <field name="name">Output VAT - (test)</field>
432- <field ref="cas_a" name="parent_id"/>
433- <field name="type">other</field>
434- <field name="user_type" ref="account.data_account_type_asset"/>
435- <field name="company_id" ref="subsidiary_a"/>
436- </record>
437-
438- <record id="bnk_a" model="account.account">
439- <field name="code">X11004</field>
440- <field name="name">Bank Current Account - (test)</field>
441- <field ref="cas_a" name="parent_id"/>
442- <field name="type">liquidity</field>
443- <field name="user_type" ref="account.data_account_type_asset"/>
444- <field name="company_id" ref="subsidiary_a"/>
445- </record>
446-
447- <record id="cash_a" model="account.account">
448- <field name="code">X11005</field>
449- <field name="name">Cash - (test)</field>
450- <field ref="cas_a" name="parent_id"/>
451- <field name="type">liquidity</field>
452- <field name="user_type" ref="account.data_account_type_asset"/>
453- <field name="company_id" ref="subsidiary_a"/>
454- </record>
455-
456- <record id="o_income_a" model="account.account">
457- <field name="code">X11006</field>
458- <field name="name">Opening Income - (test)</field>
459- <field ref="cas_a" name="parent_id"/>
460- <field name="type">other</field>
461- <field name="user_type" ref="account.data_account_type_income"/>
462- <field name="company_id" ref="subsidiary_a"/>
463- </record>
464-
465- <record model="account.account" id="liabilities_view_a">
466- <field name="name">Liabilities - (test)</field>
467- <field name="code">X11</field>
468- <field name="type">view</field>
469- <field name="user_type" ref="account.data_account_type_liability"/>
470- <field name="reconcile" eval="False"/>
471- <field name="parent_id" ref="bal_a"/>
472- <field name="company_id" ref="subsidiary_a"/>
473- </record>
474-
475- <record id="cli_a" model="account.account">
476- <field name="code">X110</field>
477- <field name="name">Current Liabilities - (test)</field>
478- <field ref="liabilities_view_a" name="parent_id"/>
479- <field name="type">view</field>
480- <field name="user_type" ref="account.data_account_type_liability"/>
481- <field name="company_id" ref="subsidiary_a"/>
482- </record>
483-
484- <record id="a_pay_a" model="account.account">
485- <field name="code">X1111</field>
486- <field name="name">Creditors - (test)</field>
487- <field ref="cli_a" name="parent_id"/>
488- <field name="type">payable</field>
489- <field eval="True" name="reconcile"/>
490- <field name="user_type" ref="account.data_account_type_payable"/>
491- <field name="company_id" ref="subsidiary_a"/>
492- </record>
493-
494- <record id="iva_a" model="account.account">
495- <field name="code">X1112</field>
496- <field name="name">Input VAT - (test)</field>
497- <field ref="cli_a" name="parent_id"/>
498- <field name="type">other</field>
499- <field name="user_type" ref="account.data_account_type_liability"/>
500- <field name="company_id" ref="subsidiary_a"/>
501- </record>
502-
503- <record id="rsa_a" model="account.account">
504- <field name="code">X1113</field>
505- <field name="name">Reserve and Profit/Loss - (test)</field>
506- <field ref="cli_a" name="parent_id"/>
507- <field name="type">other</field>
508- <field name="user_type" ref="account.data_account_type_liability"/>
509- <field name="company_id" ref="subsidiary_a"/>
510- </record>
511-
512- <record id="o_expense_a" model="account.account">
513- <field name="code">X1114</field>
514- <field name="name">Opening Expense - (test)</field>
515- <field ref="cli_a" name="parent_id"/>
516- <field name="type">other</field>
517- <field name="user_type" ref="account.data_account_type_expense"/>
518- <field name="company_id" ref="subsidiary_a"/>
519- </record>
520-
521- <!-- Profit and Loss -->
522-
523- <record id="gpf_a" model="account.account">
524- <field name="code">X2</field>
525- <field name="name">Profit and Loss - (test)</field>
526- <field ref="chart_subsidiary_a" name="parent_id"/>
527- <field name="type">view</field>
528- <field name="user_type" ref="account.data_account_type_view"/>
529- <field name="company_id" ref="subsidiary_a"/>
530- </record>
531-
532- <record model="account.account" id="income_view_a">
533- <field name="name">Income - (test)</field>
534- <field name="code">X20</field>
535- <field name="type">view</field>
536- <field name="user_type" ref="account.data_account_type_income"/>
537- <field name="reconcile" eval="False"/>
538- <field name="parent_id" ref="gpf_a"/>
539- <field name="company_id" ref="subsidiary_a"/>
540- </record>
541-
542- <record model="account.account" id="income_fx_income_a">
543- <field name="name">Foreign Exchange Gain - (test)</field>
544- <field name="code">X201</field>
545- <field name="type">other</field>
546- <field name="user_type" ref="account.data_account_type_income"/>
547- <field name="reconcile" eval="False"/>
548- <field name="parent_id" ref="income_view_a"/>
549- <field name="company_id" ref="subsidiary_a"/>
550- </record>
551-
552- <record id="rev_a" model="account.account">
553- <field name="code">X200</field>
554- <field name="name">Revenue - (test)</field>
555- <field ref="income_view_a" name="parent_id"/>
556- <field name="type">view</field>
557- <field name="user_type" ref="account.data_account_type_income"/>
558- <field name="company_id" ref="subsidiary_a"/>
559- </record>
560-
561- <record id="a_sale_a" model="account.account">
562- <field name="code">X2001</field>
563- <field name="name">Product Sales - (test)</field>
564- <field ref="rev_a" name="parent_id"/>
565- <field name="type">other</field>
566- <field name="user_type" ref="account.data_account_type_income"/>
567- <field name="company_id" ref="subsidiary_a"/>
568- </record>
569-
570- <record model="account.account" id="expense_view_a">
571- <field name="name">Expense - (test)</field>
572- <field name="code">X21</field>
573- <field name="type">view</field>
574- <field name="user_type" ref="account.data_account_type_expense"/>
575- <field name="reconcile" eval="False"/>
576- <field name="parent_id" ref="gpf_a"/>
577-
578- <field name="company_id" ref="subsidiary_a"/>
579- </record>
580-
581-
582- <record id="cos_a" model="account.account">
583- <field name="code">X210</field>
584- <field name="name">Cost of Sales - (test)</field>
585- <field ref="expense_view_a" name="parent_id"/>
586- <field name="type">view</field>
587- <field name="user_type" ref="account.data_account_type_expense"/>
588- <field name="company_id" ref="subsidiary_a"/>
589- </record>
590-
591- <record id="cog_a" model="account.account">
592- <field name="code">X2100</field>
593- <field name="name">Cost of Goods Sold - (test)</field>
594- <field ref="cos_a" name="parent_id"/>
595- <field name="type">other</field>
596- <field name="user_type" ref="account.data_account_type_expense"/>
597- <field name="company_id" ref="subsidiary_a"/>
598- </record>
599-
600- <record id="ovr_a" model="account.account">
601- <field name="code">X211</field>
602- <field name="name">Overheads - (test)</field>
603- <field ref="expense_view_a" name="parent_id"/>
604- <field name="type">view</field>
605- <field name="user_type" ref="account.data_account_type_expense"/>
606- <field name="company_id" ref="subsidiary_a"/>
607- </record>
608-
609- <record id="a_expense_a" model="account.account">
610- <field name="code">X2110</field>
611- <field name="name">Expenses - (test)</field>
612- <field ref="ovr_a" name="parent_id"/>
613- <field name="type">other</field>
614- <field name="user_type" ref="account.data_account_type_expense"/>
615- <field name="company_id" ref="subsidiary_a"/>
616- </record>
617-
618- <record model="account.account" id="income_fx_expense_a">
619- <field name="name">Foreign Exchange Loss - (test)</field>
620- <field name="code">X2111</field>
621- <field name="type">other</field>
622- <field name="user_type" ref="account.data_account_type_expense"/>
623- <field name="reconcile" eval="False"/>
624- <field name="parent_id" ref="ovr_a"/>
625- <field name="company_id" ref="subsidiary_a"/>
626- </record>
627-
628- <record id="a_salary_expense_a" model="account.account">
629- <field name="code">X2112</field>
630- <field name="name">Salary Expenses - (test)</field>
631- <field ref="ovr_a" name="parent_id"/>
632- <field name="type">other</field>
633- <field name="user_type" ref="account.data_account_type_expense"/>
634- <field name="company_id" ref="subsidiary_a"/>
635- </record>
636-
637- <!-- Virtual Chart of Account -->
638-
639- <record id="virtual_chart_subsidiary_a" model="account.account">
640- <field name="code">VAR</field>
641- <field name="name">Virtual Chart For Automated Tests A</field>
642- <field eval="0" name="parent_id"/>
643- <field name="type">view</field>
644- <field name="user_type" ref="account.data_account_type_view"/>
645- <field name="company_id" ref="subsidiary_a"/>
646- </record>
647-
648- <record id="vca_vae_a" model="account.account">
649- <field name="code">VAE</field>
650- <field name="name">Virtual Account Expense</field>
651- <field eval="virtual_chart_subsidiary_a" name="parent_id"/>
652- <field name="type">consolidation</field>
653- <field name="user_type" ref="account.data_account_type_expense"/>
654- <field name="company_id" ref="subsidiary_a"/>
655- <field name="child_consol_ids" eval="[(6,0,[expense_view_a])]"/>
656- </record>
657-
658- <record id="vca_vai_a" model="account.account">
659- <field name="code">VAI</field>
660- <field name="name">Virtual Account Income</field>
661- <field eval="virtual_chart_subsidiary_a" name="parent_id"/>
662- <field name="type">consolidation</field>
663- <field name="user_type" ref="account.data_account_type_income"/>
664- <field name="company_id" ref="subsidiary_a"/>
665- <field name="child_consol_ids" eval="[(6,0,[income_view_a])]"/>
666- </record>
667-
668-
669- <!-- Set Virtual Chart of Accounts on Subsidiaries -->
670- <record id="subsidiary_a" model="res.company">
671- <field name="consolidation_chart_account_id" ref="virtual_chart_subsidiary_a"/>
672- </record>
673-
674- </data>
675-</openerp>
676
677=== removed file 'account_consolidation/demo/chart_b_demo.xml'
678--- account_consolidation/demo/chart_b_demo.xml 2012-04-11 07:50:19 +0000
679+++ account_consolidation/demo/chart_b_demo.xml 1970-01-01 00:00:00 +0000
680@@ -1,337 +0,0 @@
681-<?xml version="1.0" encoding="utf-8"?>
682-<openerp>
683- <data>
684-
685- <!--
686- Chart of Account B
687- -->
688-
689- <record id="chart_subsidiary_b" model="account.account">
690- <field name="code">Y0</field>
691- <field name="name">Chart For Automated Tests B</field>
692- <field eval="0" name="parent_id"/>
693- <field name="type">view</field>
694- <field name="user_type" ref="account.data_account_type_view"/>
695- <field name="company_id" ref="subsidiary_b"/>
696- </record>
697-
698- <!-- Balance Sheet -->
699-
700- <record id="bal_b" model="account.account">
701- <field name="code">Y1</field>
702- <field name="name">Balance Sheet - (test)</field>
703- <field ref="chart_subsidiary_b" name="parent_id"/>
704- <field name="type">view</field>
705- <field name="user_type" ref="account.data_account_type_view"/>
706- <field name="company_id" ref="subsidiary_b"/>
707- </record>
708-
709- <record model="account.account" id="assets_view_b">
710- <field name="name">Assets - (test)</field>
711- <field name="code">Y10</field>
712- <field name="type">view</field>
713- <field name="user_type" ref="account.data_account_type_asset"/>
714- <field name="reconcile" eval="False"/>
715- <field name="parent_id" ref="bal_b"/>
716- <field name="company_id" ref="subsidiary_b"/>
717- </record>
718-
719- <record id="fas_b" model="account.account">
720- <field name="code">Y100</field>
721- <field name="name">Fixed Assets - (test)</field>
722- <field ref="assets_view_b" name="parent_id"/>
723- <field name="type">view</field>
724- <field name="user_type" ref="account.data_account_type_asset"/>
725- <field name="company_id" ref="subsidiary_b"/>
726- </record>
727-
728- <record id="xfa_b" model="account.account">
729- <field name="code">Y1000</field>
730- <field name="name">Fixed Asset Account - (test)</field>
731- <field ref="fas_b" name="parent_id"/>
732- <field name="type">other</field>
733- <field name="user_type" ref="account.data_account_type_asset"/>
734- <field name="company_id" ref="subsidiary_b"/>
735- </record>
736-
737- <record id="nca_b" model="account.account">
738- <field name="code">Y101</field>
739- <field name="name">Net Current Assets - (test)</field>
740- <field ref="assets_view_b" name="parent_id"/>
741- <field name="type">view</field>
742- <field name="user_type" ref="account.data_account_type_asset"/>
743- <field name="company_id" ref="subsidiary_b"/>
744- </record>
745-
746- <record id="cas_b" model="account.account">
747- <field name="code">Y1100</field>
748- <field name="name">Current Assets - (test)</field>
749- <field ref="nca_b" name="parent_id"/>
750- <field name="type">view</field>
751- <field name="user_type" ref="account.data_account_type_asset"/>
752- <field name="company_id" ref="subsidiary_b"/>
753- </record>
754-
755- <record id="stk_b" model="account.account">
756- <field name="code">Y11001</field>
757- <field name="name">Purchased Stocks - (test)</field>
758- <field ref="cas_b" name="parent_id"/>
759- <field name="type">other</field>
760- <field name="user_type" ref="account.data_account_type_asset"/>
761- <field name="company_id" ref="subsidiary_b"/>
762- </record>
763-
764- <record id="a_recv_b" model="account.account">
765- <field name="code">Y11002</field>
766- <field name="name">Debtors - (test)</field>
767- <field ref="cas_b" name="parent_id"/>
768- <field name="type">receivable</field>
769- <field eval="True" name="reconcile"/>
770- <field name="user_type" ref="account.data_account_type_receivable"/>
771- <field name="company_id" ref="subsidiary_b"/>
772- </record>
773-
774- <record id="ova_b" model="account.account">
775- <field name="code">Y11003</field>
776- <field name="name">Output VAT - (test)</field>
777- <field ref="cas_b" name="parent_id"/>
778- <field name="type">other</field>
779- <field name="user_type" ref="account.data_account_type_asset"/>
780- <field name="company_id" ref="subsidiary_b"/>
781- </record>
782-
783- <record id="bnk_b" model="account.account">
784- <field name="code">Y11004</field>
785- <field name="name">Bank Current Account - (test)</field>
786- <field ref="cas_b" name="parent_id"/>
787- <field name="type">liquidity</field>
788- <field name="user_type" ref="account.data_account_type_asset"/>
789- <field name="company_id" ref="subsidiary_b"/>
790- </record>
791-
792- <record id="cash_b" model="account.account">
793- <field name="code">Y11005</field>
794- <field name="name">Cash - (test)</field>
795- <field ref="cas_b" name="parent_id"/>
796- <field name="type">liquidity</field>
797- <field name="user_type" ref="account.data_account_type_asset"/>
798- <field name="company_id" ref="subsidiary_b"/>
799- </record>
800-
801- <record id="o_income_b" model="account.account">
802- <field name="code">Y11006</field>
803- <field name="name">Opening Income - (test)</field>
804- <field ref="cas_b" name="parent_id"/>
805- <field name="type">other</field>
806- <field name="user_type" ref="account.data_account_type_income"/>
807- <field name="company_id" ref="subsidiary_b"/>
808- </record>
809-
810- <record model="account.account" id="liabilities_view_b">
811- <field name="name">Liabilities - (test)</field>
812- <field name="code">Y11</field>
813- <field name="type">view</field>
814- <field name="user_type" ref="account.data_account_type_liability"/>
815- <field name="reconcile" eval="False"/>
816- <field name="parent_id" ref="bal_b"/>
817- <field name="company_id" ref="subsidiary_b"/>
818- </record>
819-
820- <record id="cli_b" model="account.account">
821- <field name="code">Y110</field>
822- <field name="name">Current Liabilities - (test)</field>
823- <field ref="liabilities_view_b" name="parent_id"/>
824- <field name="type">view</field>
825- <field name="user_type" ref="account.data_account_type_liability"/>
826- <field name="company_id" ref="subsidiary_b"/>
827- </record>
828-
829- <record id="a_pay_b" model="account.account">
830- <field name="code">Y1111</field>
831- <field name="name">Creditors - (test)</field>
832- <field ref="cli_b" name="parent_id"/>
833- <field name="type">payable</field>
834- <field eval="True" name="reconcile"/>
835- <field name="user_type" ref="account.data_account_type_payable"/>
836- <field name="company_id" ref="subsidiary_b"/>
837- </record>
838-
839- <record id="iva_b" model="account.account">
840- <field name="code">Y1112</field>
841- <field name="name">Input VAT - (test)</field>
842- <field ref="cli_b" name="parent_id"/>
843- <field name="type">other</field>
844- <field name="user_type" ref="account.data_account_type_liability"/>
845- <field name="company_id" ref="subsidiary_b"/>
846- </record>
847-
848- <record id="rsa_b" model="account.account">
849- <field name="code">Y1113</field>
850- <field name="name">Reserve and Profit/Loss - (test)</field>
851- <field ref="cli_b" name="parent_id"/>
852- <field name="type">other</field>
853- <field name="user_type" ref="account.data_account_type_liability"/>
854- <field name="company_id" ref="subsidiary_b"/>
855- </record>
856-
857- <record id="o_expense_b" model="account.account">
858- <field name="code">Y1114</field>
859- <field name="name">Opening Expense - (test)</field>
860- <field ref="cli_b" name="parent_id"/>
861- <field name="type">other</field>
862- <field name="user_type" ref="account.data_account_type_expense"/>
863- <field name="company_id" ref="subsidiary_b"/>
864- </record>
865-
866- <!-- Profit and Loss -->
867-
868- <record id="gpf_b" model="account.account">
869- <field name="code">X2</field>
870- <field name="name">Profit and Loss - (test)</field>
871- <field ref="chart_subsidiary_b" name="parent_id"/>
872- <field name="type">view</field>
873- <field name="user_type" ref="account.data_account_type_view"/>
874- <field name="company_id" ref="subsidiary_b"/>
875- </record>
876-
877- <record model="account.account" id="income_view_b">
878- <field name="name">Income - (test)</field>
879- <field name="code">X20</field>
880- <field name="type">view</field>
881- <field name="user_type" ref="account.data_account_type_income"/>
882- <field name="reconcile" eval="False"/>
883- <field name="parent_id" ref="gpf_b"/>
884- <field name="company_id" ref="subsidiary_b"/>
885- </record>
886-
887- <record model="account.account" id="income_fx_income_b">
888- <field name="name">Foreign Exchange Gain - (test)</field>
889- <field name="code">X201</field>
890- <field name="type">other</field>
891- <field name="user_type" ref="account.data_account_type_income"/>
892- <field name="reconcile" eval="False"/>
893- <field name="parent_id" ref="income_view_b"/>
894- <field name="company_id" ref="subsidiary_b"/>
895- </record>
896-
897- <record id="rev_b" model="account.account">
898- <field name="code">X200</field>
899- <field name="name">Revenue - (test)</field>
900- <field ref="income_view_b" name="parent_id"/>
901- <field name="type">view</field>
902- <field name="user_type" ref="account.data_account_type_income"/>
903- <field name="company_id" ref="subsidiary_b"/>
904- </record>
905-
906- <record id="a_sale_b" model="account.account">
907- <field name="code">X2001</field>
908- <field name="name">Product Sales - (test)</field>
909- <field ref="rev_b" name="parent_id"/>
910- <field name="type">other</field>
911- <field name="user_type" ref="account.data_account_type_income"/>
912- <field name="company_id" ref="subsidiary_b"/>
913- </record>
914-
915- <record model="account.account" id="expense_view_b">
916- <field name="name">Expense - (test)</field>
917- <field name="code">X21</field>
918- <field name="type">view</field>
919- <field name="user_type" ref="account.data_account_type_expense"/>
920- <field name="reconcile" eval="False"/>
921- <field name="parent_id" ref="gpf_b"/>
922- <field name="company_id" ref="subsidiary_b"/>
923- </record>
924-
925-
926- <record id="cos_b" model="account.account">
927- <field name="code">X210</field>
928- <field name="name">Cost of Sales - (test)</field>
929- <field ref="expense_view_b" name="parent_id"/>
930- <field name="type">view</field>
931- <field name="user_type" ref="account.data_account_type_expense"/>
932- <field name="company_id" ref="subsidiary_b"/>
933- </record>
934-
935- <record id="cog_b" model="account.account">
936- <field name="code">X2100</field>
937- <field name="name">Cost of Goods Sold - (test)</field>
938- <field ref="cos_b" name="parent_id"/>
939- <field name="type">other</field>
940- <field name="user_type" ref="account.data_account_type_expense"/>
941- <field name="company_id" ref="subsidiary_b"/>
942- </record>
943-
944- <record id="ovr_b" model="account.account">
945- <field name="code">X211</field>
946- <field name="name">Overheads - (test)</field>
947- <field ref="expense_view_b" name="parent_id"/>
948- <field name="type">view</field>
949- <field name="user_type" ref="account.data_account_type_expense"/>
950- <field name="company_id" ref="subsidiary_b"/>
951- </record>
952-
953- <record id="a_expense_b" model="account.account">
954- <field name="code">X2110</field>
955- <field name="name">Expenses - (test)</field>
956- <field ref="ovr_b" name="parent_id"/>
957- <field name="type">other</field>
958- <field name="user_type" ref="account.data_account_type_expense"/>
959- <field name="company_id" ref="subsidiary_b"/>
960- </record>
961-
962- <record model="account.account" id="income_fx_expense_b">
963- <field name="name">Foreign Exchange Loss - (test)</field>
964- <field name="code">X2111</field>
965- <field name="type">other</field>
966- <field name="user_type" ref="account.data_account_type_expense"/>
967- <field name="reconcile" eval="False"/>
968- <field name="parent_id" ref="ovr_b"/>
969- <field name="company_id" ref="subsidiary_b"/>
970- </record>
971-
972- <record id="a_salary_expense_b" model="account.account">
973- <field name="code">X2112</field>
974- <field name="name">Salary Expenses - (test)</field>
975- <field ref="ovr_b" name="parent_id"/>
976- <field name="type">other</field>
977- <field name="user_type" ref="account.data_account_type_expense"/>
978- <field name="company_id" ref="subsidiary_b"/>
979- </record>
980-
981- <!-- Virtual Chart of Account -->
982-
983- <record id="virtual_chart_subsidiary_b" model="account.account">
984- <field name="code">VAR</field>
985- <field name="name">Virtual Chart For Automated Tests B</field>
986- <field eval="0" name="parent_id"/>
987- <field name="type">view</field>
988- <field name="user_type" ref="account.data_account_type_view"/>
989- <field name="company_id" ref="subsidiary_b"/>
990- </record>
991-
992- <record id="vca_vae_b" model="account.account">
993- <field name="code">VAE</field>
994- <field name="name">Virtual Account Expense</field>
995- <field eval="virtual_chart_subsidiary_b" name="parent_id"/>
996- <field name="type">consolidation</field>
997- <field name="user_type" ref="account.data_account_type_expense"/>
998- <field name="company_id" ref="subsidiary_b"/>
999- <field name="child_consol_ids" eval="[(6,0,[expense_view_b])]"/>
1000- </record>
1001-
1002- <record id="vca_vai_b" model="account.account">
1003- <field name="code">VAI</field>
1004- <field name="name">Virtual Account Income</field>
1005- <field eval="virtual_chart_subsidiary_b" name="parent_id"/>
1006- <field name="type">consolidation</field>
1007- <field name="user_type" ref="account.data_account_type_income"/>
1008- <field name="company_id" ref="subsidiary_b"/>
1009- <field name="child_consol_ids" eval="[(6,0,[income_view_b])]"/>
1010- </record>
1011-
1012- <record id="subsidiary_b" model="res.company">
1013- <field name="consolidation_chart_account_id" ref="virtual_chart_subsidiary_b"/>
1014- </record>
1015-
1016- </data>
1017-</openerp>
1018
1019=== removed file 'account_consolidation/demo/consolidation_demo.xml'
1020--- account_consolidation/demo/consolidation_demo.xml 2012-04-11 07:50:19 +0000
1021+++ account_consolidation/demo/consolidation_demo.xml 1970-01-01 00:00:00 +0000
1022@@ -1,316 +0,0 @@
1023-<?xml version="1.0" encoding="utf-8"?>
1024-<openerp>
1025- <data>
1026-
1027- <!-- Subsidiaries -->
1028- <record id="subsidiary_a" model="res.company">
1029- <field name="name">Subsidiary A</field>
1030- <field name="currency_id" ref="base.CHF"/>
1031- <field name="parent_id" ref="base.main_company"/>
1032- <!--<field name="consolidation_chart_account_id" ref=""/>-->
1033- </record>
1034-
1035- <!-- Subsidiaries -->
1036- <record id="subsidiary_b" model="res.company">
1037- <field name="name">Subsidiary B</field>
1038- <field name="currency_id" ref="base.EUR"/>
1039- <field name="parent_id" ref="base.main_company"/>
1040- <!--<field name="consolidation_chart_account_id" ref=""/>-->
1041- </record>
1042-
1043-
1044- <!--
1045- Add consolidation accounts to Chart for Automated Tests
1046- -->
1047-
1048- <record id="chart0_consolidation" model="account.account">
1049- <field name="code">CONSO</field>
1050- <field name="name">Consolidation Account</field>
1051- <field ref="account.chart0" name="parent_id"/>
1052- <field name="type">view</field>
1053- <field name="user_type" ref="account.data_account_type_view"/>
1054- <field name="company_id" ref="base.main_company"/>
1055- </record>
1056-
1057- <record id="chart0_conso_expense" model="account.account">
1058- <field name="code">VAE</field>
1059- <field name="name">Consolidation Expense Account</field>
1060- <field ref="chart0_consolidation" name="parent_id"/>
1061- <field name="type">other</field>
1062- <field name="user_type" ref="account.data_account_type_expense"/>
1063- <field name="company_id" ref="base.main_company"/>
1064- </record>
1065-
1066- <record id="chart0_conso_income" model="account.account">
1067- <field name="code">VAI</field>
1068- <field name="name">Consolidation Income Account</field>
1069- <field ref="chart0_consolidation" name="parent_id"/>
1070- <field name="type">other</field>
1071- <field name="user_type" ref="account.data_account_type_income"/>
1072- <field name="company_id" ref="base.main_company"/>
1073- </record>
1074-
1075- <!--
1076- Fiscal years
1077- -->
1078-
1079- <record id="data_fiscalyear_a" model="account.fiscalyear">
1080- <field eval="'Subsidiary A Fiscal Year '+time.strftime('%Y')" name="name"/>
1081- <field eval="'FY'+time.strftime('%Y')" name="code"/>
1082- <field eval="time.strftime('%Y')+'-01-01'" name="date_start"/>
1083- <field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/>
1084- <field name="company_id" ref="subsidiary_a"/>
1085- </record>
1086-
1087- <record id="data_fiscalyear_b" model="account.fiscalyear">
1088- <field eval="'Subsidiary B Fiscal Year '+time.strftime('%Y')" name="name"/>
1089- <field eval="'FY'+time.strftime('%Y')" name="code"/>
1090- <field eval="time.strftime('%Y')+'-01-01'" name="date_start"/>
1091- <field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/>
1092- <field name="company_id" ref="subsidiary_b"/>
1093- </record>
1094-
1095- <!--
1096- Fiscal Periods
1097- -->
1098-
1099- <record id="period_a_1" model="account.period">
1100- <field eval="'01/'+time.strftime('%Y')" name="code"/>
1101- <field eval="'01/'+time.strftime('%Y')" name="name"/>
1102- <field eval="True" name="special"/>
1103- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1104- <field eval="time.strftime('%Y')+'-01-01'" name="date_start"/>
1105- <field eval="time.strftime('%Y')+'-01-31'" name="date_stop"/>
1106- <field name="company_id" ref="subsidiary_a"/>
1107- </record>
1108- <record id="period_a_2" model="account.period">
1109- <field eval="'02/'+time.strftime('%Y')" name="code"/>
1110- <field eval="'02/'+time.strftime('%Y')" name="name"/>
1111- <field eval="True" name="special"/>
1112- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1113- <field eval="time.strftime('%Y')+'-02-01'" name="date_start"/>
1114- <field eval="time.strftime('%Y')+'-02-28'" name="date_stop"/>
1115- <field name="company_id" ref="subsidiary_a"/>
1116- </record>
1117- <record id="period_a_3" model="account.period">
1118- <field eval="'03/'+time.strftime('%Y')" name="code"/>
1119- <field eval="'03/'+time.strftime('%Y')" name="name"/>
1120- <field eval="True" name="special"/>
1121- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1122- <field eval="time.strftime('%Y')+'-03-01'" name="date_start"/>
1123- <field eval="time.strftime('%Y')+'-03-31'" name="date_stop"/>
1124- <field name="company_id" ref="subsidiary_a"/>
1125- </record>
1126- <record id="period_a_4" model="account.period">
1127- <field eval="'04/'+time.strftime('%Y')" name="code"/>
1128- <field eval="'04/'+time.strftime('%Y')" name="name"/>
1129- <field eval="True" name="special"/>
1130- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1131- <field eval="time.strftime('%Y')+'-04-01'" name="date_start"/>
1132- <field eval="time.strftime('%Y')+'-04-30'" name="date_stop"/>
1133- <field name="company_id" ref="subsidiary_a"/>
1134- </record>
1135- <record id="period_a_5" model="account.period">
1136- <field eval="'05/'+time.strftime('%Y')" name="code"/>
1137- <field eval="'05/'+time.strftime('%Y')" name="name"/>
1138- <field eval="True" name="special"/>
1139- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1140- <field eval="time.strftime('%Y')+'-05-01'" name="date_start"/>
1141- <field eval="time.strftime('%Y')+'-05-31'" name="date_stop"/>
1142- <field name="company_id" ref="subsidiary_a"/>
1143- </record>
1144- <record id="period_a_6" model="account.period">
1145- <field eval="'06/'+time.strftime('%Y')" name="code"/>
1146- <field eval="'06/'+time.strftime('%Y')" name="name"/>
1147- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1148- <field eval="True" name="special"/>
1149- <field eval="time.strftime('%Y')+'-06-01'" name="date_start"/>
1150- <field eval="time.strftime('%Y')+'-06-30'" name="date_stop"/>
1151- <field name="company_id" ref="subsidiary_a"/>
1152- </record>
1153- <record id="period_a_7" model="account.period">
1154- <field eval="'07/'+time.strftime('%Y')" name="code"/>
1155- <field eval="'07/'+time.strftime('%Y')" name="name"/>
1156- <field eval="True" name="special"/>
1157- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1158- <field eval="time.strftime('%Y')+'-07-01'" name="date_start"/>
1159- <field eval="time.strftime('%Y')+'-07-31'" name="date_stop"/>
1160- <field name="company_id" ref="subsidiary_a"/>
1161- </record>
1162- <record id="period_a_8" model="account.period">
1163- <field eval="'08/'+time.strftime('%Y')" name="code"/>
1164- <field eval="'08/'+time.strftime('%Y')" name="name"/>
1165- <field eval="True" name="special"/>
1166- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1167- <field eval="time.strftime('%Y')+'-08-01'" name="date_start"/>
1168- <field eval="time.strftime('%Y')+'-08-31'" name="date_stop"/>
1169- <field name="company_id" ref="subsidiary_a"/>
1170- </record>
1171- <record id="period_a_9" model="account.period">
1172- <field eval="'09/'+time.strftime('%Y')" name="code"/>
1173- <field eval="'09/'+time.strftime('%Y')" name="name"/>
1174- <field eval="True" name="special"/>
1175- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1176- <field eval="time.strftime('%Y')+'-09-01'" name="date_start"/>
1177- <field eval="time.strftime('%Y')+'-09-30'" name="date_stop"/>
1178- <field name="company_id" ref="subsidiary_a"/>
1179- </record>
1180- <record id="period_a_10" model="account.period">
1181- <field eval="'10/'+time.strftime('%Y')" name="code"/>
1182- <field eval="'10/'+time.strftime('%Y')" name="name"/>
1183- <field eval="True" name="special"/>
1184- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1185- <field eval="time.strftime('%Y')+'-10-01'" name="date_start"/>
1186- <field eval="time.strftime('%Y')+'-10-31'" name="date_stop"/>
1187- <field name="company_id" ref="subsidiary_a"/>
1188- </record>
1189- <record id="period_a_11" model="account.period">
1190- <field eval="'11/'+time.strftime('%Y')" name="code"/>
1191- <field eval="'11/'+time.strftime('%Y')" name="name"/>
1192- <field eval="True" name="special"/>
1193- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1194- <field eval="time.strftime('%Y')+'-11-01'" name="date_start"/>
1195- <field eval="time.strftime('%Y')+'-11-30'" name="date_stop"/>
1196- <field name="company_id" ref="subsidiary_a"/>
1197- </record>
1198- <record id="period_a_12" model="account.period">
1199- <field eval="'12/'+time.strftime('%Y')" name="code"/>
1200- <field eval="'12/'+time.strftime('%Y')" name="name"/>
1201- <field eval="True" name="special"/>
1202- <field name="fiscalyear_id" ref="data_fiscalyear_a"/>
1203- <field eval="time.strftime('%Y')+'-12-01'" name="date_start"/>
1204- <field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/>
1205- <field name="company_id" ref="subsidiary_a"/>
1206- </record>
1207-
1208- <record id="period_b_1" model="account.period">
1209- <field eval="'01/'+time.strftime('%Y')" name="code"/>
1210- <field eval="'01/'+time.strftime('%Y')" name="name"/>
1211- <field eval="True" name="special"/>
1212- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1213- <field eval="time.strftime('%Y')+'-01-01'" name="date_start"/>
1214- <field eval="time.strftime('%Y')+'-01-31'" name="date_stop"/>
1215- <field name="company_id" ref="subsidiary_b"/>
1216- </record>
1217- <record id="period_b_2" model="account.period">
1218- <field eval="'02/'+time.strftime('%Y')" name="code"/>
1219- <field eval="'02/'+time.strftime('%Y')" name="name"/>
1220- <field eval="True" name="special"/>
1221- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1222- <field eval="time.strftime('%Y')+'-02-01'" name="date_start"/>
1223- <field eval="time.strftime('%Y')+'-02-28'" name="date_stop"/>
1224- <field name="company_id" ref="subsidiary_b"/>
1225- </record>
1226- <record id="period_b_3" model="account.period">
1227- <field eval="'03/'+time.strftime('%Y')" name="code"/>
1228- <field eval="'03/'+time.strftime('%Y')" name="name"/>
1229- <field eval="True" name="special"/>
1230- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1231- <field eval="time.strftime('%Y')+'-03-01'" name="date_start"/>
1232- <field eval="time.strftime('%Y')+'-03-31'" name="date_stop"/>
1233- <field name="company_id" ref="subsidiary_b"/>
1234- </record>
1235- <record id="period_b_4" model="account.period">
1236- <field eval="'04/'+time.strftime('%Y')" name="code"/>
1237- <field eval="'04/'+time.strftime('%Y')" name="name"/>
1238- <field eval="True" name="special"/>
1239- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1240- <field eval="time.strftime('%Y')+'-04-01'" name="date_start"/>
1241- <field eval="time.strftime('%Y')+'-04-30'" name="date_stop"/>
1242- <field name="company_id" ref="subsidiary_b"/>
1243- </record>
1244- <record id="period_b_5" model="account.period">
1245- <field eval="'05/'+time.strftime('%Y')" name="code"/>
1246- <field eval="'05/'+time.strftime('%Y')" name="name"/>
1247- <field eval="True" name="special"/>
1248- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1249- <field eval="time.strftime('%Y')+'-05-01'" name="date_start"/>
1250- <field eval="time.strftime('%Y')+'-05-31'" name="date_stop"/>
1251- <field name="company_id" ref="subsidiary_b"/>
1252- </record>
1253- <record id="period_b_6" model="account.period">
1254- <field eval="'06/'+time.strftime('%Y')" name="code"/>
1255- <field eval="'06/'+time.strftime('%Y')" name="name"/>
1256- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1257- <field eval="True" name="special"/>
1258- <field eval="time.strftime('%Y')+'-06-01'" name="date_start"/>
1259- <field eval="time.strftime('%Y')+'-06-30'" name="date_stop"/>
1260- <field name="company_id" ref="subsidiary_b"/>
1261- </record>
1262- <record id="period_b_7" model="account.period">
1263- <field eval="'07/'+time.strftime('%Y')" name="code"/>
1264- <field eval="'07/'+time.strftime('%Y')" name="name"/>
1265- <field eval="True" name="special"/>
1266- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1267- <field eval="time.strftime('%Y')+'-07-01'" name="date_start"/>
1268- <field eval="time.strftime('%Y')+'-07-31'" name="date_stop"/>
1269- <field name="company_id" ref="subsidiary_b"/>
1270- </record>
1271- <record id="period_b_8" model="account.period">
1272- <field eval="'08/'+time.strftime('%Y')" name="code"/>
1273- <field eval="'08/'+time.strftime('%Y')" name="name"/>
1274- <field eval="True" name="special"/>
1275- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1276- <field eval="time.strftime('%Y')+'-08-01'" name="date_start"/>
1277- <field eval="time.strftime('%Y')+'-08-31'" name="date_stop"/>
1278- <field name="company_id" ref="subsidiary_b"/>
1279- </record>
1280- <record id="period_b_9" model="account.period">
1281- <field eval="'09/'+time.strftime('%Y')" name="code"/>
1282- <field eval="'09/'+time.strftime('%Y')" name="name"/>
1283- <field eval="True" name="special"/>
1284- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1285- <field eval="time.strftime('%Y')+'-09-01'" name="date_start"/>
1286- <field eval="time.strftime('%Y')+'-09-30'" name="date_stop"/>
1287- <field name="company_id" ref="subsidiary_b"/>
1288- </record>
1289- <record id="period_b_10" model="account.period">
1290- <field eval="'10/'+time.strftime('%Y')" name="code"/>
1291- <field eval="'10/'+time.strftime('%Y')" name="name"/>
1292- <field eval="True" name="special"/>
1293- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1294- <field eval="time.strftime('%Y')+'-10-01'" name="date_start"/>
1295- <field eval="time.strftime('%Y')+'-10-31'" name="date_stop"/>
1296- <field name="company_id" ref="subsidiary_b"/>
1297- </record>
1298- <record id="period_b_11" model="account.period">
1299- <field eval="'11/'+time.strftime('%Y')" name="code"/>
1300- <field eval="'11/'+time.strftime('%Y')" name="name"/>
1301- <field eval="True" name="special"/>
1302- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1303- <field eval="time.strftime('%Y')+'-11-01'" name="date_start"/>
1304- <field eval="time.strftime('%Y')+'-11-30'" name="date_stop"/>
1305- <field name="company_id" ref="subsidiary_b"/>
1306- </record>
1307- <record id="period_b_12" model="account.period">
1308- <field eval="'12/'+time.strftime('%Y')" name="code"/>
1309- <field eval="'12/'+time.strftime('%Y')" name="name"/>
1310- <field eval="True" name="special"/>
1311- <field name="fiscalyear_id" ref="data_fiscalyear_b"/>
1312- <field eval="time.strftime('%Y')+'-12-01'" name="date_start"/>
1313- <field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/>
1314- <field name="company_id" ref="subsidiary_b"/>
1315- </record>
1316-
1317- <record id="account_journal_sale0" model="account.journal">
1318- <field name="code">SALE</field>
1319- <field name="name">SALE</field>
1320- <field name="view_id" ref="account.account_sp_journal_view"/>
1321- <field name="company_id" ref="account_consolidation.subsidiary_a"/>
1322- <field name="sequence_id" ref="account.sequence_sale_journal"/>
1323- <field eval="1" name="allow_date"/>
1324- <field name="type">sale</field>
1325- </record>
1326-
1327- <record id="account_journal_sale1" model="account.journal">
1328- <field name="code">SALE</field>
1329- <field name="name">SALE</field>
1330- <field name="view_id" ref="account.account_sp_journal_view"/>
1331- <field name="company_id" ref="account_consolidation.subsidiary_b"/>
1332- <field name="sequence_id" ref="account.sequence_sale_journal"/>
1333- <field eval="1" name="allow_date"/>
1334- <field name="type">sale</field>
1335- </record>
1336-
1337- </data>
1338-</openerp>
1339
1340=== removed directory 'account_consolidation/i18n'
1341=== removed directory 'account_consolidation/security'
1342=== removed directory 'account_consolidation/test'
1343=== removed file 'account_consolidation/test/consolidation_checks.yml'
1344--- account_consolidation/test/consolidation_checks.yml 2011-08-19 13:08:01 +0000
1345+++ account_consolidation/test/consolidation_checks.yml 1970-01-01 00:00:00 +0000
1346@@ -1,109 +0,0 @@
1347--
1348- In order to test the consolidation checks, I use the wizard to check if the periods are the same on the Holding and its Subsidiaries
1349--
1350- !record {model: account.consolidation.check, id: conso_check_period_0}:
1351- fiscalyear_id: account.data_fiscalyear
1352- holding_chart_account_id: account.chart0
1353- subsidiary_ids:
1354- - subsidiary_a
1355- - subsidiary_b
1356--
1357- I click on Check Periods Button to check the periods
1358--
1359- !python {model: account.consolidation.check}: |
1360- try:
1361- self.check_all_periods(cr, uid, [ref("conso_check_period_0")], {"lang": 'en_US',
1362- "active_model": "ir.ui.menu", "active_ids": [ref("account_consolidation.menu_consolidation_checks")],
1363- "tz": False, "active_id": ref("account_consolidation.menu_consolidation_checks"), })
1364- except Exception, err:
1365- if err.name == 'Validation':
1366- pass
1367- else:
1368- raise
1369-
1370--
1371- In order to test the consolidation checks, I use the wizard to check if the virtual charts and chart are correct between subsidiaries and holding
1372--
1373- !record {model: account.consolidation.check, id: conso_check_chart_0}:
1374- fiscalyear_id: account.data_fiscalyear
1375- holding_chart_account_id: account.chart0
1376--
1377- I click on Check Charts Button to check the chart of accounts
1378--
1379- !python {model: account.consolidation.check}: |
1380- try:
1381- self.check_account_charts(cr, uid, [ref("conso_check_chart_0")], {"lang": 'en_US',
1382- "active_model": "ir.ui.menu", "active_ids": [ref("account_consolidation.menu_consolidation_checks")],
1383- "tz": False, "active_id": ref("account_consolidation.menu_consolidation_checks"), })
1384- except Exception, err:
1385- if err.name == 'Validation':
1386- pass
1387- else:
1388- raise
1389-
1390--
1391- In order to test the consolidation checks on misconfigured periods, I use the wizard on FY2012
1392--
1393- !record {model: account.consolidation.check, id: conso_check_period_1}:
1394- fiscalyear_id: account_fiscalyear_fy0
1395- holding_chart_account_id: account.chart0
1396- subsidiary_ids:
1397- - subsidiary_a
1398- - subsidiary_b
1399--
1400- I click on Check Periods Button to check the periods, it must raise an error
1401--
1402- !python {model: account.consolidation.check}: |
1403- check_raise = False
1404- try:
1405- self.check_all_periods(cr, uid, [ref("conso_check_period_1")], {"lang": 'en_US',
1406- "active_model": "ir.ui.menu", "active_ids": [ref("account_consolidation.menu_consolidation_checks")],
1407- "tz": False, "active_id": ref("account_consolidation.menu_consolidation_checks"), })
1408- except Exception, err:
1409- if err.name == 'Invalid periods':
1410- check_raise = True
1411- pass
1412- if not check_raise:
1413- raise AssertionError('\'Invalid periods\' error should be raised!')
1414-
1415--
1416- Creating a account.account record on a subsidiary chart to fail the check of chart of accounts
1417--
1418- !record {model: account.account, id: account_account_virtualaccountspare0}:
1419- child_consol_ids:
1420- - account_consolidation.expense_view_a
1421- code: VAX
1422- company_id: account_consolidation.subsidiary_a
1423- currency_mode: current
1424- level: 1
1425- name: Virtual Account Spare
1426- parent_id: account_consolidation.virtual_chart_subsidiary_a
1427- type: consolidation
1428- user_type: account.account_type_expense
1429-
1430--
1431- In order to test the consolidation checks on misconfigured charts, I use the wizard
1432--
1433- !record {model: account.consolidation.check, id: conso_check_chart_1}:
1434- fiscalyear_id: account.data_fiscalyear
1435- holding_chart_account_id: account.chart0
1436- subsidiary_ids:
1437- - subsidiary_a
1438- - subsidiary_b
1439-
1440--
1441- I click on Check Charts Button to check the chart of accounts, it must fails with an error
1442--
1443- !python {model: account.consolidation.check}: |
1444- check_raise = False
1445- try:
1446- self.check_account_charts(cr, uid, [ref("conso_check_chart_1")], {"lang": 'en_US',
1447- "active_model": "ir.ui.menu", "active_ids": [ref("account_consolidation.menu_consolidation_checks")],
1448- "tz": False, "active_id": ref("account_consolidation.menu_consolidation_checks"), })
1449- except Exception, err:
1450- if err.name == 'Invalid charts':
1451- check_raise = True
1452- pass
1453- if not check_raise:
1454- raise AssertionError('\'Invalid charts\' error should be raised!')
1455- self.pool.get('account.account').unlink(cr, uid, [ref('account_account_virtualaccountspare0')])
1456
1457=== removed file 'account_consolidation/test/consolidation_consolidate.yml'
1458--- account_consolidation/test/consolidation_consolidate.yml 2011-08-29 05:45:40 +0000
1459+++ account_consolidation/test/consolidation_consolidate.yml 1970-01-01 00:00:00 +0000
1460@@ -1,44 +0,0 @@
1461--
1462- In order to test the consolidation, I set the Virtual COA on subsidiary A
1463--
1464- !record {model: res.company, id: subsidiary_a}:
1465- consolidation_chart_account_id: virtual_chart_subsidiary_a
1466-
1467--
1468- In order to test the consolidation, I set the Virtual COA on subsidiary B
1469--
1470- !record {model: res.company, id: subsidiary_b}:
1471- consolidation_chart_account_id: virtual_chart_subsidiary_b
1472-
1473--
1474- In order to test the consolidation, I use the wizard to consolidate a period
1475--
1476- !record {model: account.consolidation.consolidate, id: consolidate_0}:
1477- fiscalyear_id: account.data_fiscalyear
1478- from_period_id: account.period_1
1479- to_period_id: account.period_1
1480- journal_id: account.miscellaneous_journal
1481- target_move: posted
1482- holding_chart_account_id: account.chart0
1483-# gain_account_id: account.income_fx_income
1484-# loss_account_id: account.income_fx_expense
1485- subsidiary_ids:
1486- - subsidiary_a
1487- - subsidiary_b
1488--
1489- I click on Consolidate Button to run the consolidation
1490--
1491- !python {model: account.consolidation.consolidate}: |
1492- self.run_consolidation(cr, uid, [ref("consolidate_0")], {"lang": 'en_US',
1493- "active_model": "ir.ui.menu", "active_ids": [ref("account_consolidation.menu_consolidation_consolidate")],
1494- "tz": False, "active_id": ref("account_consolidation.menu_consolidation_consolidate"), })
1495-
1496-#-
1497-# After consolidation, I check the credit of the Expense Consolidation Account
1498-#-
1499-# !assert {model: account.account, id: chart0_conso_expense, string: "The credit of the VAE account on holding is 1499.82"}:
1500-
1501-#-
1502-# After consolidation, I check the debit of the Income Consolidation Account
1503-#-
1504-# !assert {model: account.account, id: chart0_conso_income, string: "The debit of the VAI account on holding is 1499.82"}:
1505
1506=== removed file 'account_consolidation/test/test_data.yml'
1507--- account_consolidation/test/test_data.yml 2011-08-19 13:08:01 +0000
1508+++ account_consolidation/test/test_data.yml 1970-01-01 00:00:00 +0000
1509@@ -1,314 +0,0 @@
1510--
1511- Creating a account.move record
1512--
1513- !record {model: account.move, id: account_move_0}:
1514- company_id: subsidiary_b
1515- date: '2011-01-02'
1516- journal_id: account_journal_sale1
1517- line_id:
1518- - company_id: subsidiary_b
1519- account_id: a_sale_b
1520- amount_currency: 0.0
1521- credit: 0.0
1522- date: '2011-01-01'
1523- debit: 1240.0
1524- journal_id: account_journal_sale1
1525- name: Entry 0
1526- period_id: period_b_1
1527- quantity: 0.0
1528- state: valid
1529- tax_amount: 0.0
1530- - company_id: subsidiary_b
1531- account_id: cog_b
1532- amount_currency: 0.0
1533- credit: 1240.0
1534- date: '2011-01-01'
1535- debit: 0.0
1536- journal_id: account_journal_sale1
1537- name: Entry 0
1538- period_id: period_b_1
1539- quantity: 0.0
1540- state: valid
1541- tax_amount: 0.0
1542- name: /
1543- period_id: period_b_1
1544- state: posted
1545-
1546-
1547--
1548- Creating a account.move record
1549--
1550- !record {model: account.move, id: account_move_1}:
1551- company_id: account_consolidation.subsidiary_a
1552- date: '2011-01-20'
1553- journal_id: account_journal_sale0
1554- line_id:
1555- - account_id: account_consolidation.a_sale_a
1556- amount_currency: 0.0
1557- company_id: account_consolidation.subsidiary_a
1558- credit: 0.0
1559- date: '2011-01-20'
1560- debit: 40.0
1561- journal_id: account_journal_sale0
1562- name: Entry 1
1563- period_id: account_consolidation.period_a_1
1564- quantity: 0.0
1565- state: valid
1566- tax_amount: 0.0
1567- - account_id: account_consolidation.cog_a
1568- amount_currency: 0.0
1569- company_id: account_consolidation.subsidiary_a
1570- credit: 40.0
1571- date: '2011-01-20'
1572- debit: 0.0
1573- journal_id: account_journal_sale0
1574- name: Entry 1
1575- period_id: account_consolidation.period_a_1
1576- quantity: 0.0
1577- state: valid
1578- tax_amount: 0.0
1579- name: /
1580- period_id: account_consolidation.period_a_1
1581- state: posted
1582-
1583-
1584--
1585- Creating a account.move record
1586--
1587- !record {model: account.move, id: account_move_2}:
1588- company_id: account_consolidation.subsidiary_a
1589- date: '2011-02-23'
1590- journal_id: account_journal_sale0
1591- line_id:
1592- - account_id: account_consolidation.a_sale_a
1593- amount_currency: 0.0
1594- company_id: account_consolidation.subsidiary_a
1595- credit: 0.0
1596- date: '2011-02-01'
1597- debit: 200.0
1598- journal_id: account_journal_sale0
1599- name: Entry 2
1600- period_id: account_consolidation.period_a_2
1601- quantity: 0.0
1602- state: valid
1603- tax_amount: 0.0
1604- - account_id: account_consolidation.cog_a
1605- amount_currency: 0.0
1606- company_id: account_consolidation.subsidiary_a
1607- credit: 200.0
1608- date: '2011-02-01'
1609- debit: 0.0
1610- journal_id: account_journal_sale0
1611- name: Entry 2
1612- period_id: account_consolidation.period_a_2
1613- quantity: 0.0
1614- state: valid
1615- tax_amount: 0.0
1616- name: /
1617- period_id: account_consolidation.period_a_2
1618- state: posted
1619-
1620-
1621--
1622- Creating a account.move record
1623--
1624- !record {model: account.move, id: account_move_3}:
1625- company_id: account_consolidation.subsidiary_a
1626- date: '2011-01-15'
1627- journal_id: account_journal_sale0
1628- line_id:
1629- - account_id: account_consolidation.cog_a
1630- amount_currency: 0.0
1631- company_id: account_consolidation.subsidiary_a
1632- credit: 300.0
1633- date: '2011-01-01'
1634- debit: 0.0
1635- journal_id: account_journal_sale0
1636- name: Entry 3
1637- period_id: account_consolidation.period_a_1
1638- quantity: 0.0
1639- state: valid
1640- tax_amount: 0.0
1641- - account_id: account_consolidation.a_sale_a
1642- amount_currency: 0.0
1643- company_id: account_consolidation.subsidiary_a
1644- credit: 0.0
1645- date: '2011-01-01'
1646- debit: 300.0
1647- journal_id: account_journal_sale0
1648- name: Entry 3
1649- period_id: account_consolidation.period_a_1
1650- quantity: 0.0
1651- state: valid
1652- tax_amount: 0.0
1653- name: /
1654- period_id: account_consolidation.period_a_1
1655- state: posted
1656-
1657-
1658--
1659- Creating a account.fiscalyear record with a missing period for january
1660--
1661- !record {model: account.fiscalyear, id: account_fiscalyear_fy0}:
1662- code: FY2012
1663- company_id: base.main_company
1664- date_start: '2012-01-01'
1665- date_stop: '2012-12-31'
1666- name: FY2012
1667- period_ids:
1668- - code: 00/2012
1669- company_id: base.main_company
1670- date_start: '2012-01-01'
1671- date_stop: '2012-01-01'
1672- name: Opening Period
1673- special: true
1674- - code: 01/2012
1675- company_id: base.main_company
1676- date_start: '2012-01-01'
1677- date_stop: '2012-01-31'
1678- name: 01/2012
1679- - code: 02/2012
1680- company_id: base.main_company
1681- date_start: '2012-02-01'
1682- date_stop: '2012-02-29'
1683- name: 02/2012
1684- - code: 03/2012
1685- company_id: base.main_company
1686- date_start: '2012-03-01'
1687- date_stop: '2012-03-31'
1688- name: 03/2012
1689- - code: 04/2012
1690- company_id: base.main_company
1691- date_start: '2012-04-01'
1692- date_stop: '2012-04-30'
1693- name: 04/2012
1694- - code: 05/2012
1695- company_id: base.main_company
1696- date_start: '2012-05-01'
1697- date_stop: '2012-05-31'
1698- name: 05/2012
1699- - code: 06/2012
1700- company_id: base.main_company
1701- date_start: '2012-06-01'
1702- date_stop: '2012-06-30'
1703- name: 06/2012
1704- - code: 07/2012
1705- company_id: base.main_company
1706- date_start: '2012-07-01'
1707- date_stop: '2012-07-31'
1708- name: 07/2012
1709- - code: 08/2012
1710- company_id: base.main_company
1711- date_start: '2012-08-01'
1712- date_stop: '2012-08-31'
1713- name: 08/2012
1714- - code: 09/2012
1715- company_id: base.main_company
1716- date_start: '2012-09-01'
1717- date_stop: '2012-09-30'
1718- name: 09/2012
1719- - code: 10/2012
1720- company_id: base.main_company
1721- date_start: '2012-10-01'
1722- date_stop: '2012-10-31'
1723- name: 10/2012
1724- - code: 11/2012
1725- company_id: base.main_company
1726- date_start: '2012-11-01'
1727- date_stop: '2012-11-30'
1728- name: 11/2012
1729- - code: 12/2012
1730- company_id: base.main_company
1731- date_start: '2012-12-01'
1732- date_stop: '2012-12-31'
1733- name: 12/2012
1734-
1735-
1736--
1737- Creating a account.fiscalyear record with a period in december but with different dates than the holding
1738--
1739- !record {model: account.fiscalyear, id: account_fiscalyear_fy1}:
1740- code: FY2012
1741- company_id: account_consolidation.subsidiary_b
1742- date_start: '2012-01-01'
1743- date_stop: '2012-12-31'
1744- name: FY2012
1745- period_ids:
1746- - code: diff_dates
1747- company_id: account_consolidation.subsidiary_b
1748- date_start: '2012-12-15'
1749- date_stop: '2012-12-31'
1750- name: diff_dates
1751-
1752-
1753--
1754- Creating a account.fiscalyear record on subsidiary with a period for january (missing on holding)
1755--
1756- !record {model: account.fiscalyear, id: account_fiscalyear_fy2}:
1757- code: FY2012
1758- company_id: account_consolidation.subsidiary_a
1759- date_start: '2012-01-01'
1760- date_stop: '2012-12-31'
1761- name: FY2012
1762- period_ids:
1763- - code: 00/2012
1764- company_id: account_consolidation.subsidiary_a
1765- date_start: '2012-01-01'
1766- date_stop: '2012-01-01'
1767- name: Opening Period
1768- special: true
1769- - code: 01/2012
1770- company_id: account_consolidation.subsidiary_a
1771- date_start: '2012-01-01'
1772- date_stop: '2012-01-31'
1773- name: 01/2012
1774- - code: 02/2012
1775- company_id: account_consolidation.subsidiary_a
1776- date_start: '2012-02-01'
1777- date_stop: '2012-02-29'
1778- name: 02/2012
1779- - code: 03/2012
1780- company_id: account_consolidation.subsidiary_a
1781- date_start: '2012-03-01'
1782- date_stop: '2012-03-31'
1783- name: 03/2012
1784- - code: 04/2012
1785- company_id: account_consolidation.subsidiary_a
1786- date_start: '2012-04-01'
1787- date_stop: '2012-04-30'
1788- name: 04/2012
1789- - code: 05/2012
1790- company_id: account_consolidation.subsidiary_a
1791- date_start: '2012-05-01'
1792- date_stop: '2012-05-31'
1793- name: 05/2012
1794- - code: 06/2012
1795- company_id: account_consolidation.subsidiary_a
1796- date_start: '2012-06-01'
1797- date_stop: '2012-06-30'
1798- name: 06/2012
1799- - code: 08/2012
1800- company_id: account_consolidation.subsidiary_a
1801- date_start: '2012-08-01'
1802- date_stop: '2012-08-31'
1803- name: 08/2012
1804- - code: 09/2012
1805- company_id: account_consolidation.subsidiary_a
1806- date_start: '2012-09-01'
1807- date_stop: '2012-09-30'
1808- name: 09/2012
1809- - code: 10/2012
1810- company_id: account_consolidation.subsidiary_a
1811- date_start: '2012-10-01'
1812- date_stop: '2012-10-31'
1813- name: 10/2012
1814- - code: 11/2012
1815- company_id: account_consolidation.subsidiary_a
1816- date_start: '2012-11-01'
1817- date_stop: '2012-11-30'
1818- name: 11/2012
1819- - code: 12/2012
1820- company_id: account_consolidation.subsidiary_a
1821- date_start: '2012-12-01'
1822- date_stop: '2012-12-31'
1823- name: 12/2012
1824
1825=== removed directory 'account_consolidation/wizard'
1826=== removed file 'account_consolidation/wizard/__init__.py'
1827--- account_consolidation/wizard/__init__.py 2011-08-19 07:16:03 +0000
1828+++ account_consolidation/wizard/__init__.py 1970-01-01 00:00:00 +0000
1829@@ -1,3 +0,0 @@
1830-import consolidation_base
1831-import consolidation_check
1832-import consolidation_consolidate
1833
1834=== removed file 'account_consolidation/wizard/consolidation_base.py'
1835--- account_consolidation/wizard/consolidation_base.py 2012-04-11 07:50:19 +0000
1836+++ account_consolidation/wizard/consolidation_base.py 1970-01-01 00:00:00 +0000
1837@@ -1,302 +0,0 @@
1838-# -*- coding: utf-8 -*-
1839-##############################################################################
1840-#
1841-# Copyright (c) 2011 Camptocamp SA (http://www.camptocamp.com)
1842-#
1843-# Author : Guewen Baconnier (Camptocamp)
1844-#
1845-# WARNING: This program as such is intended to be used by professional
1846-# programmers who take the whole responsability of assessing all potential
1847-# consequences resulting from its eventual inadequacies and bugs
1848-# End users who are looking for a ready-to-use solution with commercial
1849-# garantees and support are strongly adviced to contract a Free Software
1850-# Service Company
1851-#
1852-# This program is Free Software; you can redistribute it and/or
1853-# modify it under the terms of the GNU General Public License
1854-# as published by the Free Software Foundation; either version 2
1855-# of the License, or (at your option) any later version.
1856-#
1857-# This program is distributed in the hope that it will be useful,
1858-# but WITHOUT ANY WARRANTY; without even the implied warranty of
1859-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1860-# GNU General Public License for more details.
1861-#
1862-# You should have received a copy of the GNU General Public License
1863-# along with this program; if not, write to the Free Software
1864-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1865-#
1866-##############################################################################
1867-
1868-from osv import osv, fields
1869-from tools.translate import _
1870-
1871-
1872-class account_consolidation_base(osv.osv_memory):
1873- _name = 'account.consolidation.base'
1874- _description = 'Common consolidation wizard. Intended to be inherited'
1875-
1876- def _default_company(self, cr, uid, context=None):
1877- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
1878- if user.company_id:
1879- return user.company_id.id
1880- return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0]
1881-
1882- _columns = {
1883- 'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', required=True,
1884- help="The checks will be done on the periods of the selected fiscal year."),
1885- 'company_id': fields.many2one('res.company', 'Company', required=True),
1886- 'holding_chart_account_id': fields.many2one('account.account',
1887- 'Chart of Accounts',
1888- required=True,
1889- domain=[('parent_id', '=', False)]),
1890- 'subsidiary_ids': fields.many2many('res.company', 'account_conso_comp_rel', 'conso_id', 'company_id',
1891- 'Subsidiaries', required=True)
1892- }
1893-
1894- _defaults = {
1895- 'company_id': _default_company,
1896- }
1897-
1898- def on_change_company_id(self, cr, uid, ids, company_id, context=None):
1899- """
1900- On change of the company, set the chart of account and the subsidiaries
1901-
1902- @param self: The object pointer
1903- @param cr: the current row, from the database cursor,
1904- @param uid: the current user’s ID for security checks,
1905- @param ids: List of the wizard IDs (commonly the first element is the current ID)
1906- @param company_id: ID of the selected company
1907- @param context: A standard dictionary for contextual values
1908-
1909- @return: dict of values to change
1910- """
1911- company_obj = self.pool.get('res.company')
1912-
1913- result = {}
1914- company = company_obj.browse(cr, uid, company_id, context=context)
1915- if company.consolidation_chart_account_id:
1916- result['main_chart_account_id'] = company.consolidation_chart_account_id.id
1917-
1918- result['subsidiary_ids'] = [child.id for child in company.child_ids]
1919-
1920- return {'value': result}
1921-
1922- def check_subsidiary_periods(self, cr, uid, ids, holding_company_id, subs_company_id, fyear_id, context=None):
1923- """
1924- Check Subsidiary company periods vs Holding company periods and returns a list of errors
1925- All the periods defined within the group must be the same (same beginning and ending dates)
1926-
1927- @param self: The object pointer
1928- @param cr: the current row, from the database cursor,
1929- @param uid: the current user’s ID for security checks,
1930- @param ids: List of the wizard IDs (commonly the first element is the current ID)
1931- @param holding_company_id: ID of the holding company
1932- @param subs_company_id: ID of the subsidiary company to check
1933- @param fyear_id: ID of the fiscal years to compare
1934- @param context: A standard dictionary for contextual values
1935-
1936- @return: dict of list with errors for each company {company_id: ['error 1', 'error2']}
1937- """
1938- company_obj = self.pool.get('res.company')
1939- period_obj = self.pool.get('account.period')
1940- fy_obj = self.pool.get('account.fiscalyear')
1941-
1942- holding_fiscal_year = fy_obj.browse(cr, uid, fyear_id, context=context)
1943-
1944- # contains errors
1945- errors = []
1946-
1947- # get holding fiscal year and periods
1948- holding = company_obj.browse(cr, uid, holding_company_id, context=context)
1949- subsidiary = company_obj.browse(cr, uid, subs_company_id, context=context)
1950-
1951- holding_periods_ids = period_obj.search(cr, uid,
1952- [('company_id', '=', holding.id),
1953- ('fiscalyear_id', '=', holding_fiscal_year.id)],
1954- context=context)
1955- holding_periods = period_obj.browse(cr, uid, holding_periods_ids, context=context)
1956-
1957- # get subsidiary fiscal year and periods
1958- subsidiary_fiscal_year = fy_obj.search(cr, uid,
1959- [('company_id', '=', subsidiary.id),
1960- ('date_start', '=', holding_fiscal_year.date_start),
1961- ('date_stop', '=', holding_fiscal_year.date_stop),
1962- ])
1963- if not subsidiary_fiscal_year:
1964- errors.append(_('The fiscal year of the subsidiary company %s does not exists from %s to %s')
1965- % (subsidiary.name, holding_fiscal_year.date_start, holding_fiscal_year.date_stop))
1966- else:
1967- subsidiary_period_ids = period_obj.search(cr, uid,
1968- [('company_id', '=', subsidiary.id),
1969- ('fiscalyear_id', '=', subsidiary_fiscal_year[0])], # 0 because there can be only 1 fiscal year on the same dates as the holding
1970- context=context)
1971- subsidiary_periods = period_obj.browse(cr, uid, subsidiary_period_ids, context=context)
1972-
1973- # a holding fiscal year may have more periods than a subsidiary (a subsidiary created at the middle of the year for example)
1974- # but the reverse situation is not allowed
1975- if len(holding_periods) < len(subsidiary_periods):
1976- errors.append(_('Holding company has less periods than the subsidiary company %s!') % (subsidiary.name,))
1977-
1978- # check subsidiary periods dates vs holding periods for each period of the subsidiary
1979- for subsidiary_period in subsidiary_periods:
1980- period_exists = False
1981- for holding_period in holding_periods:
1982- if subsidiary_period.date_start == holding_period.date_start \
1983- and subsidiary_period.date_stop == holding_period.date_stop:
1984- period_exists = True
1985- break
1986- if not period_exists:
1987- errors.append(_('Period from %s to %s not found in holding company %s')
1988- % (subsidiary_period.date_start, subsidiary_period.date_stop, holding.name))
1989-
1990- return errors
1991-
1992- def check_all_periods(self, cr, uid, ids, context=None):
1993- """
1994- Call the period check on each period of all subsidiaries
1995- Returns the errors by subsidiary
1996-
1997- @param self: The object pointer
1998- @param cr: the current row, from the database cursor,
1999- @param uid: the current user’s ID for security checks,
2000- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2001- @param context: A standard dictionary for contextual values
2002-
2003- @return: dict of list with errors for each company {company_id: ['error 1', 'error2']}
2004- """
2005- form = self.browse(cr, uid, ids[0], context=context)
2006-
2007- errors_by_company = {}
2008- for subsidiary in form.subsidiary_ids:
2009- errors = \
2010- self.check_subsidiary_periods(cr, uid, ids,
2011- form.company_id.id,
2012- subsidiary.id,
2013- form.fiscalyear_id.id,
2014- context=context)
2015- if errors:
2016- errors_by_company[subsidiary.id] = errors
2017-
2018- return errors_by_company
2019-
2020- def _chart_accounts_data(self, cr, uid, ids, chart_account_id, context=None):
2021- """
2022- Returns the list of accounts to use for the consolidation for the holding
2023- or the subsidiaries. Keys of the returned dict are the account codes and
2024- if the context is holding_coa, dict values are the browse instances of the accounts
2025-
2026- @param self: The object pointer
2027- @param cr: the current row, from the database cursor,
2028- @param uid: the current user’s ID for security checks,
2029- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2030- @chart_account_id: ID of the "Chart" Account for which we want the account codes
2031- @param context: A standard dictionary for contextual values
2032-
2033- @return: dict with {account codes: browse instances}
2034- """
2035- context = context or {}
2036- account_obj = self.pool.get('account.account')
2037- res = {}
2038- account_ids = account_obj.\
2039- _get_children_and_consol(cr, uid, chart_account_id, context=context)
2040-
2041- # do not consolidate chart root
2042- account_ids.remove(chart_account_id)
2043-
2044- for account in account_obj.browse(cr, uid, account_ids, context):
2045- holding = context.get('holding_coa', False)
2046-
2047- # do not consolidate to view accounts
2048- if holding and account.type == 'view':
2049- continue
2050-
2051- # only consolidate the consolidation accounts
2052- if not holding and account.type != 'consolidation':
2053- continue
2054-
2055- res[account.code] = {}
2056- # we'll need the browse object during the "consolidate wizard" for the holding
2057- res[account.code] = holding and account or True
2058-
2059- return res
2060-
2061- def check_subsidiary_chart(self, cr, uid, ids, holding_chart_account_id, subsidiary_chart_account_id, context=None):
2062- """
2063- Check a Holding Chart of Accounts vs a Subsidiary Virtual Chart of Accounts
2064- All the accounts of the Virtual CoA must exist in the Holding CoA.
2065- The Holding's CoA may hold accounts which do not exist in the Subsidiary's Virtual CoA.
2066-
2067- @param self: The object pointer
2068- @param cr: the current row, from the database cursor,
2069- @param uid: the current user’s ID for security checks,
2070- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2071- @param holding_chart_account_id: ID of the "Chart" Account of the holding company
2072- @param subsidiary_chart_account_id: ID of the "Chart" Account of the subsidiary company to check
2073- @param context: A standard dictionary for contextual values
2074-
2075- @return: List of accounts existing on subsidiary but no on holding COA
2076- """
2077- context = context or {}
2078- holding_ctx = context.copy()
2079- holding_ctx.update({'holding_coa': True})
2080- holding_accounts = self._chart_accounts_data(cr, uid, ids, holding_chart_account_id, context=holding_ctx)
2081- subsidiary_accounts = self._chart_accounts_data(cr, uid, ids, subsidiary_chart_account_id, context=context)
2082- # accounts which are configured on the subsidiary VCoA but not on the holding CoA
2083- spare_accounts = [code for code
2084- in subsidiary_accounts
2085- if code not in holding_accounts]
2086- return spare_accounts
2087-
2088- def check_account_charts(self, cr, uid, ids, context=None):
2089- """
2090- Check the chart of accounts of the holding vs each virtual chart of accounts of the subsidiaries
2091-
2092- @param self: The object pointer
2093- @param cr: the current row, from the database cursor,
2094- @param uid: the current user’s ID for security checks,
2095- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2096- @param context: A standard dictionary for contextual values
2097- """
2098- form = self.browse(cr, uid, ids[0], context=context)
2099-
2100- invalid_items_per_company = {}
2101- for subsidiary in form.subsidiary_ids:
2102- if not subsidiary.consolidation_chart_account_id:
2103- raise osv.except_osv(_('Error'), _('No chart of accounts for company %s') % (subsidiary,))
2104-
2105- invalid_items = \
2106- self.check_subsidiary_chart(cr, uid, ids,
2107- form.holding_chart_account_id.id,
2108- subsidiary.consolidation_chart_account_id.id,
2109- context=context)
2110- if any(invalid_items):
2111- invalid_items_per_company[subsidiary.id] = invalid_items
2112-
2113- return invalid_items_per_company
2114-
2115- def run_consolidation(self, cr, uid, ids, context=None):
2116- """
2117- Proceed with all checks before launch any consolidation step
2118- This is a base method intended to be inherited with the next consolidation steps
2119-
2120- @param self: The object pointer
2121- @param cr: the current row, from the database cursor,
2122- @param uid: the current user’s ID for security checks,
2123- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2124- @param context: A standard dictionary for contextual values
2125- """
2126-
2127- if self.check_all_periods(cr, uid, ids, context=context):
2128- raise osv.except_osv(_('Error'),
2129- _('Invalid periods, please launch the "Consolidation: Checks" wizard'))
2130- if self.check_account_charts(cr, uid, ids, context=context):
2131- raise osv.except_osv(_('Error'),
2132- _('Invalid charts, please launch the "Consolidation: Checks" wizard'))
2133-
2134- # inherit to add the next steps of the reconciliation
2135-
2136- return {'type': 'ir.actions.act_window_close'}
2137-
2138-
2139-account_consolidation_base()
2140
2141=== removed file 'account_consolidation/wizard/consolidation_check.py'
2142--- account_consolidation/wizard/consolidation_check.py 2012-04-11 07:50:19 +0000
2143+++ account_consolidation/wizard/consolidation_check.py 1970-01-01 00:00:00 +0000
2144@@ -1,109 +0,0 @@
2145-# -*- coding: utf-8 -*-
2146-##############################################################################
2147-#
2148-# Copyright (c) 2011 Camptocamp SA (http://www.camptocamp.com)
2149-#
2150-# Author : Guewen Baconnier (Camptocamp)
2151-#
2152-# WARNING: This program as such is intended to be used by professional
2153-# programmers who take the whole responsability of assessing all potential
2154-# consequences resulting from its eventual inadequacies and bugs
2155-# End users who are looking for a ready-to-use solution with commercial
2156-# garantees and support are strongly adviced to contract a Free Software
2157-# Service Company
2158-#
2159-# This program is Free Software; you can redistribute it and/or
2160-# modify it under the terms of the GNU General Public License
2161-# as published by the Free Software Foundation; either version 2
2162-# of the License, or (at your option) any later version.
2163-#
2164-# This program is distributed in the hope that it will be useful,
2165-# but WITHOUT ANY WARRANTY; without even the implied warranty of
2166-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2167-# GNU General Public License for more details.
2168-#
2169-# You should have received a copy of the GNU General Public License
2170-# along with this program; if not, write to the Free Software
2171-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2172-#
2173-##############################################################################
2174-
2175-from osv import osv, fields
2176-
2177-from tools.translate import _
2178-
2179-
2180-class account_consolidation_check(osv.osv_memory):
2181- _name = 'account.consolidation.check'
2182- _inherit = 'account.consolidation.base'
2183- _description = 'Consolidation Checks. Model used for views'
2184-
2185- _columns = {
2186- 'subsidiary_ids': fields.many2many('res.company', 'account_conso_check_comp_rel', 'conso_id', 'company_id',
2187- 'Subsidiaries', required=True),
2188- }
2189-
2190- def check_account_charts(self, cr, uid, ids, context=None):
2191- """
2192- Action launched with the button on the view.
2193- Check the account charts and display a report of the errors
2194-
2195- @param self: The object pointer
2196- @param cr: the current row, from the database cursor,
2197- @param uid: the current user’s ID for security checks,
2198- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2199- @param context: A standard dictionary for contextual values
2200- """
2201- invalid_items_per_company = \
2202- super(account_consolidation_check, self).check_account_charts(cr, uid, ids, context=context)
2203- if invalid_items_per_company:
2204- err_lines = []
2205- for company_id, account_codes in invalid_items_per_company.iteritems():
2206- company_obj = self.pool.get('res.company')
2207- company = company_obj.browse(cr, uid, company_id, context=context)
2208- err_lines.append(_("%s :") % (company.name,))
2209- [err_lines.append(_("Account with code %s does not exist on the Holding company.") % (account_code,))
2210- for account_code
2211- in account_codes]
2212- err_lines.append('')
2213-
2214- raise osv.except_osv(_('Invalid charts'),
2215- '\n'.join(err_lines))
2216-
2217- else:
2218- raise osv.except_osv(_('Validation'), _('Chart of Accounts are OK.'))
2219- # open a confirmation view ?
2220- return True
2221-
2222- def check_all_periods(self, cr, uid, ids, context=None):
2223- """
2224- Action launched with the button on the view.
2225- Check the periods and display a report of the errors
2226-
2227- @param self: The object pointer
2228- @param cr: the current row, from the database cursor,
2229- @param uid: the current user’s ID for security checks,
2230- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2231- @param context: A standard dictionary for contextual values
2232- """
2233- errors_by_company = \
2234- super(account_consolidation_check, self).check_all_periods(cr, uid, ids, context=context)
2235-
2236- if errors_by_company:
2237- company_obj = self.pool.get('res.company')
2238-
2239- err_lines = []
2240- for company_id, errors in errors_by_company.iteritems():
2241- company = company_obj.browse(cr, uid, company_id, context=context)
2242- err_lines.append(_("%s :") % (company.name,))
2243- [err_lines.append(error) for error in errors]
2244- err_lines.append('')
2245-
2246- raise osv.except_osv(_('Invalid periods'),
2247- '\n'.join(err_lines))
2248- else:
2249- raise osv.except_osv(_('Validation'), _('Periods are OK.'))
2250- # open a confirmation view ?
2251- return True
2252-
2253-account_consolidation_check()
2254
2255=== removed file 'account_consolidation/wizard/consolidation_check_view.xml'
2256--- account_consolidation/wizard/consolidation_check_view.xml 2011-08-19 13:08:01 +0000
2257+++ account_consolidation/wizard/consolidation_check_view.xml 1970-01-01 00:00:00 +0000
2258@@ -1,45 +0,0 @@
2259-<?xml version="1.0" encoding="utf-8"?>
2260-<openerp>
2261- <data>
2262-
2263- <record id="view_consolidation_check_form" model="ir.ui.view">
2264- <field name="name">account.consolidation.check.form</field>
2265- <field name="model">account.consolidation.check</field>
2266- <field name="type">form</field>
2267- <field name="arch" type="xml">
2268- <form string="Consolidation: Checks">
2269- <group col="4" colspan="6">
2270- <field name="company_id" on_change="on_change_company_id(company_id)" invisible="True"/>
2271- <field name="fiscalyear_id" domain="[('company_id', '=', company_id)]"/>
2272- <newline/>
2273- <field name="holding_chart_account_id" domain="[('company_id', '=', company_id), ('parent_id', '=', False)]"/>
2274- <separator string="Subsidiaries to Consolidate" colspan="4"/>
2275- <field name="subsidiary_ids" colspan="4" nolabel="1" required="True" domain="[('parent_id', '=', company_id)]">
2276- <tree>
2277- <field name="name"/>
2278- <field name="consolidation_chart_account_id"/>
2279- </tree>
2280- </field>
2281- </group>
2282- <separator colspan="4"/>
2283- <group col="3" colspan="4">
2284- <button special="cancel" string="Cancel" icon='gtk-cancel'/>
2285- <button name="check_all_periods" string="Check Periods" colspan="1" type="object" icon="gtk-execute"/>
2286- <button name="check_account_charts" string="Check Charts" colspan="1" type="object" icon="gtk-execute"/>
2287- </group>
2288- </form>
2289- </field>
2290- </record>
2291-
2292- <record id="action_consolidation_checks" model="ir.actions.act_window">
2293- <field name="name">Consolidation: Checks</field>
2294- <field name="type">ir.actions.act_window</field>
2295- <field name="res_model">account.consolidation.check</field>
2296- <field name="view_type">form</field>
2297- <field name="view_mode">form</field>
2298- <field name="help">Prepare your consolidation and make sure that your consolidation will be correct by proceeding with the checks. The "Check Periods" verify if fiscal year exists for each subsidiary, and if the periods have the same beginning and ending dates. The "Check Charts" verify if subsidiary accounts are missing in the Holding's Chart of Accounts.</field>
2299- <field name="target">new</field>
2300- </record>
2301-
2302- </data>
2303-</openerp>
2304
2305=== removed file 'account_consolidation/wizard/consolidation_consolidate.py'
2306--- account_consolidation/wizard/consolidation_consolidate.py 2012-04-11 07:57:56 +0000
2307+++ account_consolidation/wizard/consolidation_consolidate.py 1970-01-01 00:00:00 +0000
2308@@ -1,444 +0,0 @@
2309-# -*- coding: utf-8 -*-
2310-##############################################################################
2311-#
2312-# Copyright (c) 2011 Camptocamp SA (http://www.camptocamp.com)
2313-#
2314-# Author : Guewen Baconnier (Camptocamp)
2315-#
2316-# WARNING: This program as such is intended to be used by professional
2317-# programmers who take the whole responsability of assessing all potential
2318-# consequences resulting from its eventual inadequacies and bugs
2319-# End users who are looking for a ready-to-use solution with commercial
2320-# garantees and support are strongly adviced to contract a Free Software
2321-# Service Company
2322-#
2323-# This program is Free Software; you can redistribute it and/or
2324-# modify it under the terms of the GNU General Public License
2325-# as published by the Free Software Foundation; either version 2
2326-# of the License, or (at your option) any later version.
2327-#
2328-# This program is distributed in the hope that it will be useful,
2329-# but WITHOUT ANY WARRANTY; without even the implied warranty of
2330-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2331-# GNU General Public License for more details.
2332-#
2333-# You should have received a copy of the GNU General Public License
2334-# along with this program; if not, write to the Free Software
2335-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2336-#
2337-##############################################################################
2338-
2339-from osv import osv, fields
2340-from tools.translate import _
2341-from tools import safe_eval as eval
2342-
2343-class account_consolidation_consolidate(osv.osv_memory):
2344- _name = 'account.consolidation.consolidate'
2345- _inherit = 'account.consolidation.base'
2346-
2347- _columns = {
2348- 'from_period_id': fields.many2one('account.period', 'Start Period', required=True,
2349- help="Select the same period in 'from' and 'to' if you want to proceed with a single period. Start Period is ignored for Year To Date accounts."),
2350- 'to_period_id': fields.many2one('account.period', 'End Period', required=True,
2351- help="The consolidation will be done at the very last date of the selected period."),
2352- 'journal_id': fields.many2one('account.journal', 'Journal', required=True),
2353- # not sure that we'll use them, actually using centralised counterpart journal
2354-# 'gain_account_id': fields.many2one('account.account', 'Gain Account', required=True,),
2355-# 'loss_account_id': fields.many2one('account.account', 'Loss Account', required=True,),
2356- 'target_move': fields.selection([('posted', 'All Posted Entries'),
2357- ('all', 'All Entries'),
2358- ], 'Target Moves', required=True),
2359- 'subsidiary_ids': fields.many2many('res.company', 'account_conso_conso_comp_rel', 'conso_id', 'company_id',
2360- 'Subsidiaries', required=True),
2361- }
2362-
2363- _defaults = {
2364- 'target_move': 'posted'
2365- }
2366-
2367- def _check_periods_fy(self, cr, uid, ids, context=None):
2368- if context is None:
2369- context = {}
2370- form = self.browse(cr, uid, ids[0], context=context)
2371- if form.from_period_id.fiscalyear_id.id != form.to_period_id.fiscalyear_id.id:
2372- return False
2373- return True
2374-
2375- _constraints = [
2376- (_check_periods_fy, 'Start Period and End Period must be of the same Fiscal Year !', ['from_period_id', 'to_period_id']),
2377- ]
2378-
2379- def on_change_from_period_id(self, cr, uid, ids, from_period_id, to_period_id, context=None):
2380- """
2381- On change of the From period, set the To period to the same period if it is empty
2382-
2383- @param self: The object pointer
2384- @param cr: the current row, from the database cursor,
2385- @param uid: the current user’s ID for security checks,
2386- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2387- @param from_period_id: ID of the selected from period id
2388- @param to_period_id: ID of the current from period id
2389- @param context: A standard dictionary for contextual values
2390-
2391- @return: dict of values to change
2392- """
2393- result = {}
2394- period_obj = self.pool.get('account.period')
2395- from_period = period_obj.browse(cr, uid, from_period_id, context=context)
2396- if not to_period_id:
2397- result['to_period_id'] = from_period_id
2398- else:
2399- to_period = period_obj.browse(cr, uid, to_period_id, context=context)
2400- if to_period.date_start < from_period.date_start:
2401- result['to_period_id'] = from_period_id
2402-
2403- result['fiscalyear_id'] = from_period.fiscalyear_id.id
2404- return {'value': result}
2405-
2406- def _currency_rate_type(self, cr, uid, ids, account, context=None):
2407- """
2408- Returns the currency rate type to use
2409-
2410- @param self: The object pointer
2411- @param cr: the current row, from the database cursor,
2412- @param uid: the current user’s ID for security checks,
2413- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2414- @param account: browse instance of account.account
2415- @param context: A standard dictionary for contextual values
2416-
2417- @return: 'spot' or 'average'
2418- """
2419- return account.consolidation_rate_type_id and account.consolidation_rate_type_id \
2420- or account.user_type.consolidation_rate_type_id and account.user_type.consolidation_rate_type_id.id \
2421- or False
2422-
2423- def _consolidation_mode(self, cr, uid, ids, account, context=None):
2424- """
2425- Returns the consolidation mode to use
2426-
2427- @param self: The object pointer
2428- @param cr: the current row, from the database cursor,
2429- @param uid: the current user’s ID for security checks,
2430- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2431- @param account: browse instance of account.account
2432- @param context: A standard dictionary for contextual values
2433-
2434- @return: 'ytd' or 'period'
2435- """
2436- return account.consolidation_mode or account.user_type.consolidation_mode
2437-
2438- def _periods_holding_to_subsidiary(self, cr, uid, ids, period_ids, subsidiary_id, context=None):
2439- """
2440- Returns the periods of a subsidiary company which correspond to the holding periods
2441- (same beginning and ending dates)
2442-
2443- @param self: The object pointer
2444- @param cr: the current row, from the database cursor,
2445- @param uid: the current user’s ID for security checks,
2446- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2447- @param period_ids: list of periods of the holding
2448- @param subsidiary_id: ID of the subsidiary for which we want the period IDs
2449- @param context: A standard dictionary for contextual values
2450-
2451- @return: list of periods of the subsidiaries
2452- """
2453- period_obj = self.pool.get('account.period')
2454- if isinstance(period_ids, (int, long)):
2455- period_ids = [period_ids]
2456- subs_period_ids = []
2457- for period in period_obj.browse(cr, uid, period_ids, context=context):
2458- subs_period_ids.extend(period_obj.search(cr, uid,
2459- [('date_start', '=', period.date_start),
2460- ('date_stop', '=', period.date_stop),
2461- ('company_id', '=', subsidiary_id)])
2462- )
2463- return subs_period_ids
2464-
2465- def create_rate_difference_line(self, cr, uid, ids, move_id, context):
2466- """
2467- Create a move line for the gain/loss currency difference
2468-
2469- @param self: The object pointer
2470- @param cr: the current row, from the database cursor,
2471- @param uid: the current user’s ID for security checks,
2472- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2473- @param move_id: ID of the move
2474- @param context: A standard dictionary for contextual values
2475-
2476- @return:
2477- """
2478-
2479- pass
2480-
2481- def consolidate_account(self, cr, uid, ids, consolidation_mode, subsidiary_period_ids, state, move_id,
2482- holding_account_id, subsidiary_id, context=None):
2483- """
2484- Consolidates the subsidiary account on the holding account
2485- Creates move lines on the move with id "move_id"
2486-
2487- @param self: The object pointer
2488- @param cr: the current row, from the database cursor,
2489- @param uid: the current user’s ID for security checks,
2490- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2491- @param consolidation_mode: consolidate by Periods or Year To Date ('period' or 'ytd')
2492- @param subsidiary_period_ids: IDs of periods for which we want to sum the debit/credit
2493- @param state: state of the moves to consolidate ('all' or 'posted')
2494- @param move_id: ID of the move on which all the created move lines will be linked
2495- @param holding_account_id: ID of the account to consolidate (on the holding), the method will find the subsidiary's corresponding account
2496- @param subsidiary_id: ID of the subsidiary to consolidate
2497- @param context: A standard dictionary for contextual values
2498-
2499- @return: list of IDs of the created move lines
2500- """
2501-
2502- account_obj = self.pool.get('account.account')
2503- move_obj = self.pool.get('account.move')
2504- move_line_obj = self.pool.get('account.move.line')
2505- currency_obj = self.pool.get('res.currency')
2506-
2507- move = move_obj.browse(cr, uid, move_id, context=context)
2508- holding_account = account_obj.browse(cr, uid, holding_account_id, context=context)
2509-
2510- subsidiary_account_id = account_obj.search(cr, uid,
2511- [('code', '=', holding_account.code),
2512- ('company_id', '=', subsidiary_id)],
2513- context=context)
2514-
2515- if not subsidiary_account_id:
2516- return [] # an account may exist on the holding and not in the subsidiaries, nothing to do
2517-
2518- browse_ctx = context.copy()
2519- browse_ctx.update({
2520- 'state': state,
2521- 'periods': subsidiary_period_ids,
2522- })
2523- # subsidiary_account_id[0] because only one account per company for one code is permitted
2524- subs_account = account_obj.browse(cr, uid, subsidiary_account_id[0], context=browse_ctx)
2525-
2526- vals = {
2527- 'name': _("Consolidation line in %s mode") % (consolidation_mode,),
2528- 'account_id': holding_account.id,
2529- 'move_id': move.id,
2530- 'journal_id': move.journal_id.id,
2531- 'period_id': move.period_id.id,
2532- 'company_id': move.company_id.id,
2533- 'date': move.date
2534- }
2535-
2536- if holding_account.company_currency_id.id != subs_account.company_currency_id.id:
2537- currency_rate_type = self._currency_rate_type(cr, uid, ids, holding_account, context=context)
2538-
2539- currency_value = currency_obj.compute(cr, uid,
2540- holding_account.company_currency_id.id,
2541- subs_account.company_currency_id.id,
2542- subs_account.balance,
2543- currency_rate_type_from=False, # means spot
2544- currency_rate_type_to=currency_rate_type,
2545- context=context)
2546- vals.update({
2547- 'currency_id': subs_account.company_currency_id.id,
2548- 'amount_currency': subs_account.balance,
2549- 'debit': currency_value > 0 and currency_value or 0.0,
2550- 'credit': currency_value < 0 and -currency_value or 0.0
2551- })
2552-
2553- else:
2554- vals.update({
2555- 'debit': subs_account.debit,
2556- 'credit': subs_account.credit,
2557- })
2558-
2559- move_line_id = move_line_obj.create(cr, uid, vals, context=context)
2560-
2561- return move_line_id
2562-
2563- def reverse_moves(self, cr, uid, ids, subsidiary_id, journal_id, reversal_date, context):
2564- """
2565- Reverse all account moves of a journal which have the "To be reversed" flag
2566-
2567- @param self: The object pointer
2568- @param cr: the current row, from the database cursor,
2569- @param uid: the current user’s ID for security checks,
2570- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2571- @param subsidiary_id: ID of the subsidiary moves to reverse
2572- @param journal_id: ID of the journal with moves to reverse
2573- @param reversal_date: date when to create the reversal
2574- @param context: A standard dictionary for contextual values
2575-
2576- @return: tuple with : list of IDs of the reversed moves, list of IDs of the reversal moves
2577- """
2578- move_obj = self.pool.get('account.move')
2579- reversed_ids = move_obj.search(cr, uid,
2580- [('journal_id', '=', journal_id),
2581- ('to_be_reversed', '=', True),
2582- ('consol_company_id', '=', subsidiary_id)],
2583- context=context)
2584- reversal_ids = move_obj.create_reversals(cr, uid, reversed_ids, reversal_date, context=context)
2585- return reversed_ids, reversal_ids
2586-
2587- def consolidate_subsidiary(self, cr, uid, ids, subsidiary_id, context=None):
2588- """
2589- Consolidate one subsidiary on the Holding.
2590- Create a move per subsidiary and consolidation type (YTD/Period)
2591- and an move line per account of the subsidiary
2592- Plus a move line for the currency gain / loss # FIXME to check!
2593-
2594- @param self: The object pointer
2595- @param cr: the current row, from the database cursor,
2596- @param uid: the current user’s ID for security checks,
2597- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2598- @param subsidiary_id: ID of the subsidiary to consolidate on the holding
2599- @param context: A standard dictionary for contextual values
2600-
2601- @return: Tuple of (list of IDs of the YTD moves, list of IDs of the Period Moves)
2602- """
2603-
2604- context = context or {}
2605- company_obj = self.pool.get('res.company')
2606- move_obj = self.pool.get('account.move')
2607- period_obj = self.pool.get('account.period')
2608- form = self.browse(cr, uid, ids[0], context=context)
2609- subsidiary = company_obj.browse(cr, uid, subsidiary_id, context=None)
2610-
2611- data_ctx = context.copy()
2612- data_ctx.update({'holding_coa': True})
2613- holding_accounts_data = self._chart_accounts_data(cr, uid, ids,
2614- form.holding_chart_account_id.id,
2615- context=data_ctx)
2616- subs_accounts_codes = self._chart_accounts_data(cr, uid, ids,
2617- subsidiary.consolidation_chart_account_id.id,
2618- context=context)
2619- holding_accounts = [values for key, values
2620- in holding_accounts_data.iteritems()
2621- if key in subs_accounts_codes]
2622-
2623- # split accounts in ytd and periods modes
2624- # a move per type will be created
2625- consolidation_modes = {'ytd': [], 'period': []}
2626- for account in holding_accounts:
2627- cm = self._consolidation_mode(cr, uid, ids, account, context=context)
2628- consolidation_modes[cm].append(account)
2629-
2630- period_ids = period_obj.build_ctx_periods(cr, uid,
2631- form.from_period_id.id,
2632- form.to_period_id.id)
2633-
2634- generic_move_vals = {
2635- 'journal_id': form.journal_id.id,
2636- 'company_id': form.company_id.id,
2637- 'consol_company_id': subsidiary.id,
2638- }
2639-
2640- ytd_move_ids = []
2641- period_move_ids = []
2642- for consolidation_mode, accounts in consolidation_modes.iteritems():
2643- if not accounts:
2644- continue
2645-
2646- # get list of periods for which we have to create a move
2647- # in period mode : a move per period
2648- # in ytd mode : a move at the last period (which will contains lines from 1st january to last period)
2649- move_period_ids = consolidation_mode == 'period' \
2650- and period_ids \
2651- or [form.to_period_id.id]
2652-
2653- for move_period_id in move_period_ids:
2654- period = period_obj.browse(cr, uid, move_period_id, context=context)
2655-
2656- # in ytd we compute the amount from the first day of the fiscal year
2657- # in period, only for the period
2658- if consolidation_mode == 'ytd':
2659- date_from = period.fiscalyear_id.date_start
2660- else:
2661- date_from = period.date_start
2662- date_to = period.date_stop
2663-
2664- period_ctx = context.copy()
2665- period_ctx.update({
2666- 'company_id': subsidiary.id,
2667- })
2668- compute_from_period_id = period_obj.find(cr, uid, date_from, context=period_ctx)[0]
2669- compute_to_period_id = period_obj.find(cr, uid, date_to, context=period_ctx)[0]
2670- compute_period_ids = period_obj.build_ctx_periods(cr, uid,
2671- compute_from_period_id,
2672- compute_to_period_id)
2673-
2674- # reverse previous entries with flag 'to_be_reversed' (YTD)
2675- self.reverse_moves(cr, uid, ids, subsidiary.id, form.journal_id.id, date_to, context=context)
2676-
2677- # TODO if moves found for the same period : skip ?
2678-
2679- # create the account move
2680- # at the very last date of the end period
2681- move_vals = generic_move_vals.copy()
2682- move_vals.update({
2683- 'ref': _("Consolidation %s") % (consolidation_mode,),
2684- 'period_id': period.id,
2685- 'date': period.date_stop,
2686- })
2687- move_id = move_obj.create(cr, uid, move_vals, context=context)
2688-
2689- move_line_ids = []
2690- # create a move line per account
2691- for account in accounts:
2692- move_line_ids.append(
2693- self.consolidate_account(cr, uid, ids,
2694- consolidation_mode,
2695- compute_period_ids,
2696- form.target_move,
2697- move_id,
2698- account.id,
2699- subsidiary.id,
2700- context=context)
2701- )
2702-
2703- # TODO calculate currency rate difference (all move lines debit - all move lines credit) and post a move line
2704- # on the gain / loss account
2705- # will works IF : counterparts are always configured with the same mode (YTD/Periods)
2706- self.create_rate_difference_line(cr, uid, ids,
2707- move_id, context=context)
2708-
2709- locals()[consolidation_mode + '_move_ids'].append(move_id)
2710-
2711- return ytd_move_ids, period_move_ids
2712-
2713- def run_consolidation(self, cr, uid, ids, context=None):
2714- """
2715- Consolidate all selected subsidiaries Virtual Chart of Accounts
2716- on the Holding Chart of Account
2717-
2718- @param self: The object pointer
2719- @param cr: the current row, from the database cursor,
2720- @param uid: the current user’s ID for security checks,
2721- @param ids: List of the wizard IDs (commonly the first element is the current ID)
2722- @param context: A standard dictionary for contextual values
2723-
2724- @return: dict to open an Entries view filtered on the created moves
2725- """
2726- super(account_consolidation_consolidate, self).run_consolidation(cr, uid, ids, context=context)
2727-
2728- mod_obj = self.pool.get('ir.model.data')
2729- act_obj = self.pool.get('ir.actions.act_window')
2730- move_obj = self.pool.get('account.move')
2731- form = self.browse(cr, uid, ids[0], context=context)
2732-
2733- move_ids = []
2734- ytd_move_ids = []
2735- for subsidiary in form.subsidiary_ids:
2736- new_move_ids = self.consolidate_subsidiary(cr, uid, ids, subsidiary.id, context=context)
2737- ytd_move_ids.extend(new_move_ids[0])
2738- move_ids.extend(sum(new_move_ids, []))
2739-
2740- # YTD moves have to be reversed on the next consolidation
2741- move_obj.write(cr, uid, ytd_move_ids, {'to_be_reversed': True}, context=context)
2742-
2743- context.update({'move_ids': move_ids})
2744- action_ref = mod_obj.get_object_reference(cr, uid, 'account', 'action_move_journal_line')
2745- action_id = action_ref and action_ref[1] or False
2746- action = act_obj.read(cr, uid, [action_id], context=context)[0]
2747- action['domain'] = unicode([('id', 'in', move_ids)])
2748- action['name'] = _('Consolidated Entries')
2749- action['context'] = unicode({'search_default_to_be_reversed': 0})
2750- return action
2751-
2752-account_consolidation_consolidate()
2753
2754=== removed file 'account_consolidation/wizard/consolidation_consolidate_view.xml'
2755--- account_consolidation/wizard/consolidation_consolidate_view.xml 2011-08-29 05:45:40 +0000
2756+++ account_consolidation/wizard/consolidation_consolidate_view.xml 1970-01-01 00:00:00 +0000
2757@@ -1,52 +0,0 @@
2758-<?xml version="1.0" encoding="utf-8"?>
2759-<openerp>
2760- <data>
2761-
2762- <record id="view_consolidation_consolidate_form" model="ir.ui.view">
2763- <field name="name">account.consolidation.consolidate.form</field>
2764- <field name="model">account.consolidation.consolidate</field>
2765- <field name="type">form</field>
2766- <field name="arch" type="xml">
2767- <form string="Consolidation: Consolidate">
2768- <group col="4" colspan="6">
2769- <field name="company_id" on_change="on_change_company_id(company_id)" invisible="True"/>
2770- <field name="fiscalyear_id" invisible="True"/>
2771- <field name="from_period_id" on_change="on_change_from_period_id(from_period_id, to_period_id)" domain="[('company_id', '=', company_id)]"/>
2772- <field name="to_period_id" domain="[('company_id', '=', company_id)]"/>
2773- <field name="journal_id" domain="[('company_id', '=', company_id)]"/>
2774- <field name="target_move"/>
2775- <separator string="Holding Chart of Accounts" colspan="4"/>
2776- <field name="holding_chart_account_id" domain="[('company_id', '=', company_id), ('parent_id', '=', False)]"/>
2777-
2778- <!--<separator string="Consolidation Difference Accounts" colspan="4"/>-->
2779- <!--<field name="gain_account_id" domain="[('type','&lt;&gt;','view'), ('id', 'child_of', [holding_chart_account_id])]"/>-->
2780- <!--<field name="loss_account_id" domain="[('type','&lt;&gt;','view'), ('id', 'child_of', [holding_chart_account_id])]"/>-->
2781- <separator string="Subsidiaries to Consolidate" colspan="4"/>
2782- <field name="subsidiary_ids" colspan="4" nolabel="1" required="True">
2783- <tree>
2784- <field name="name"/>
2785- <field name="consolidation_chart_account_id"/>
2786- </tree>
2787- </field>
2788- </group>
2789- <separator colspan="4"/>
2790- <group col="2" colspan="4">
2791- <button special="cancel" string="Cancel" icon='gtk-cancel'/>
2792- <button name="run_consolidation" string="Consolidate" colspan="1" type="object" icon="gtk-execute"/>
2793- </group>
2794- </form>
2795- </field>
2796- </record>
2797-
2798- <record id="action_consolidation_consolidate" model="ir.actions.act_window">
2799- <field name="name">Consolidation: Consolidate</field>
2800- <field name="type">ir.actions.act_window</field>
2801- <field name="res_model">account.consolidation.consolidate</field>
2802- <field name="view_type">form</field>
2803- <field name="view_mode">form</field>
2804- <field name="help">Run the consolidation for the selected periods and subsidiaries.</field>
2805- <field name="target">new</field>
2806- </record>
2807-
2808- </data>
2809-</openerp>
2810
2811=== removed directory 'account_credit_control'
2812=== removed file 'account_credit_control/__init__.py'
2813--- account_credit_control/__init__.py 2012-10-30 08:54:45 +0000
2814+++ account_credit_control/__init__.py 1970-01-01 00:00:00 +0000
2815@@ -1,28 +0,0 @@
2816-# -*- coding: utf-8 -*-
2817-##############################################################################
2818-#
2819-# Author: Nicolas Bessi, Guewen Baconnier
2820-# Copyright 2012 Camptocamp SA
2821-#
2822-# This program is free software: you can redistribute it and/or modify
2823-# it under the terms of the GNU Affero General Public License as
2824-# published by the Free Software Foundation, either version 3 of the
2825-# License, or (at your option) any later version.
2826-#
2827-# This program is distributed in the hope that it will be useful,
2828-# but WITHOUT ANY WARRANTY; without even the implied warranty of
2829-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2830-# GNU Affero General Public License for more details.
2831-#
2832-# You should have received a copy of the GNU Affero General Public License
2833-# along with this program. If not, see <http://www.gnu.org/licenses/>.
2834-#
2835-##############################################################################
2836-from . import run
2837-from . import line
2838-from . import account
2839-from . import partner
2840-from . import policy
2841-from . import company
2842-import wizard
2843-import report
2844
2845=== removed file 'account_credit_control/__openerp__.py'
2846--- account_credit_control/__openerp__.py 2012-11-12 08:40:07 +0000
2847+++ account_credit_control/__openerp__.py 1970-01-01 00:00:00 +0000
2848@@ -1,80 +0,0 @@
2849-# -*- coding: utf-8 -*-
2850-##############################################################################
2851-#
2852-# Author: Nicolas Bessi, Guewen Baconnier
2853-# Copyright 2012 Camptocamp SA
2854-#
2855-# This program is free software: you can redistribute it and/or modify
2856-# it under the terms of the GNU Affero General Public License as
2857-# published by the Free Software Foundation, either version 3 of the
2858-# License, or (at your option) any later version.
2859-#
2860-# This program is distributed in the hope that it will be useful,
2861-# but WITHOUT ANY WARRANTY; without even the implied warranty of
2862-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2863-# GNU Affero General Public License for more details.
2864-#
2865-# You should have received a copy of the GNU Affero General Public License
2866-# along with this program. If not, see <http://www.gnu.org/licenses/>.
2867-#
2868-##############################################################################
2869-{'name' : 'Account Credit Control',
2870- 'version' : '0.1',
2871- 'author' : 'Camptocamp',
2872- 'maintainer': 'Camptocamp',
2873- 'category': 'Finance',
2874- 'complexity': "normal",
2875- 'depends' : ['base', 'account', 'email_template', 'report_webkit'],
2876- 'description': """
2877-Credit Control
2878-==============
2879-
2880-Configuration
2881--------------
2882-
2883-Configure the policies and policy levels in ``Accounting > Configuration >
2884-Credit Control > Credit Policies``.
2885-You can define as many policy levels as you need.
2886-
2887-Configure a tolerance for the Credit control and a default policy
2888-applied on all partners in each company, under the Accounting tab.
2889-
2890-You are able to specify a particular policy for one partner or one invoice.
2891-
2892-Usage
2893------
2894-
2895-Menu entries are located in ``Accounting > Periodical Processing > Credit
2896-Control``.
2897-
2898-Create a new "run" in the ``Credit Control Run`` menu with the controlling date.
2899-Then, use the ``Compute credit lines`` button. All the credit control lines will
2900-be generated. You can find them in the ``Credit Control Lines`` menu.
2901-
2902-On each generated line, you have many choices:
2903- * Send a email
2904- * Print a letter
2905- * Change the state (so you can ignore or reopen lines)
2906- """,
2907- 'website': 'http://www.camptocamp.com',
2908- 'init_xml': ["data.xml",
2909- ],
2910- 'update_xml': ["line_view.xml",
2911- "account_view.xml",
2912- "partner_view.xml",
2913- "policy_view.xml",
2914- "run_view.xml",
2915- "company_view.xml",
2916- "wizard/credit_control_emailer_view.xml",
2917- "wizard/credit_control_marker_view.xml",
2918- "wizard/credit_control_printer_view.xml",
2919- "report/report.xml",
2920- "security/ir.model.access.csv",
2921- ],
2922- 'demo_xml': ["credit_control_demo.xml"],
2923- 'tests': [],
2924- 'installable': False,
2925- 'license': 'AGPL-3',
2926- 'application': True
2927-}
2928-
2929
2930=== removed file 'account_credit_control/account.py'
2931--- account_credit_control/account.py 2012-11-07 10:20:04 +0000
2932+++ account_credit_control/account.py 1970-01-01 00:00:00 +0000
2933@@ -1,73 +0,0 @@
2934-# -*- coding: utf-8 -*-
2935-##############################################################################
2936-#
2937-# Author: Nicolas Bessi, Guewen Baconnier
2938-# Copyright 2012 Camptocamp SA
2939-#
2940-# This program is free software: you can redistribute it and/or modify
2941-# it under the terms of the GNU Affero General Public License as
2942-# published by the Free Software Foundation, either version 3 of the
2943-# License, or (at your option) any later version.
2944-#
2945-# This program is distributed in the hope that it will be useful,
2946-# but WITHOUT ANY WARRANTY; without even the implied warranty of
2947-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2948-# GNU Affero General Public License for more details.
2949-#
2950-# You should have received a copy of the GNU Affero General Public License
2951-# along with this program. If not, see <http://www.gnu.org/licenses/>.
2952-#
2953-##############################################################################
2954-
2955-from openerp.osv.orm import Model, fields
2956-
2957-
2958-class AccountAccount(Model):
2959- """Add a link to a credit control policy on account.account"""
2960-
2961- _inherit = "account.account"
2962-
2963- _columns = {
2964- 'credit_control_line_ids': fields.one2many('credit.control.line',
2965- 'account_id',
2966- string='Credit Lines',
2967- readonly=True)
2968- }
2969-
2970-
2971-class AccountInvoice(Model):
2972- """Add a link to a credit control policy on account.account"""
2973-
2974- _inherit = "account.invoice"
2975- _columns = {
2976- 'credit_policy_id': fields.many2one('credit.control.policy',
2977- 'Credit Control Policy',
2978- help=("The Credit Control Policy "
2979- "used for this invoice. "
2980- "If nothing is defined, "
2981- "it will use the account "
2982- "setting or the partner "
2983- "setting.")),
2984-
2985- 'credit_control_line_ids': fields.one2many('credit.control.line',
2986- 'invoice_id',
2987- string='Credit Lines',
2988- readonly=True)
2989- }
2990-
2991- def action_move_create(self, cr, uid, ids, context=None):
2992- """ Write the id of the invoice in the generated moves. """
2993- res = super(AccountInvoice, self).action_move_create(cr, uid, ids, context=context)
2994- for inv in self.browse(cr, uid, ids, context=context):
2995- if inv.move_id:
2996- for line in inv.move_id.line_id:
2997- line.write({'invoice_id': inv.id})
2998- return res
2999-
3000-
3001-class AccountMoveLine(Model):
3002-
3003- _inherit = "account.move.line"
3004-
3005- _columns = {'invoice_id': fields.many2one('account.invoice', 'Invoice')}
3006-
3007
3008=== removed file 'account_credit_control/account_view.xml'
3009--- account_credit_control/account_view.xml 2012-11-07 15:34:00 +0000
3010+++ account_credit_control/account_view.xml 1970-01-01 00:00:00 +0000
3011@@ -1,30 +0,0 @@
3012-<openerp>
3013- <data>
3014-
3015- <act_window
3016- id="act_account_credit_relation_relation"
3017- name="Credit Lines"
3018- groups="account_credit_control.group_account_credit_control_manager,account_credit_control.group_account_credit_control_user"
3019- domain="[('account_id', '=', active_id)]"
3020- res_model="credit.control.line"
3021- src_model="account.account"/>
3022-
3023- <record id="invoice_followup_form_view" model="ir.ui.view">
3024- <field name="name">invoice.followup.form.view</field>
3025- <field name="model">account.invoice</field>
3026- <field name="inherit_id" ref="account.invoice_form" />
3027- <field name="type">form</field>
3028- <field name="arch" type="xml">
3029- <notebook position="inside">
3030- <page string="Credit Control"
3031- groups="account_credit_control.group_account_credit_control_manager,account_credit_control.group_account_credit_control_user,group_account_credit_control_info">
3032- <field name="credit_policy_id" widget="selection"/>
3033- <newline/>
3034- <field name="credit_control_line_ids" colspan="4" nolabel="1"/>
3035- </page>
3036- </notebook>
3037- </field>
3038- </record>
3039-
3040- </data>
3041-</openerp>
3042
3043=== removed file 'account_credit_control/company.py'
3044--- account_credit_control/company.py 2012-10-30 08:54:45 +0000
3045+++ account_credit_control/company.py 1970-01-01 00:00:00 +0000
3046@@ -1,40 +0,0 @@
3047-# -*- coding: utf-8 -*-
3048-##############################################################################
3049-#
3050-# Author: Nicolas Bessi, Guewen Baconnier
3051-# Copyright 2012 Camptocamp SA
3052-#
3053-# This program is free software: you can redistribute it and/or modify
3054-# it under the terms of the GNU Affero General Public License as
3055-# published by the Free Software Foundation, either version 3 of the
3056-# License, or (at your option) any later version.
3057-#
3058-# This program is distributed in the hope that it will be useful,
3059-# but WITHOUT ANY WARRANTY; without even the implied warranty of
3060-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3061-# GNU Affero General Public License for more details.
3062-#
3063-# You should have received a copy of the GNU Affero General Public License
3064-# along with this program. If not, see <http://www.gnu.org/licenses/>.
3065-#
3066-##############################################################################
3067-from openerp.osv.orm import Model, fields
3068-
3069-
3070-class ResCompany(Model):
3071-
3072- _inherit = 'res.company'
3073-
3074- _columns = {
3075- 'credit_control_tolerance': fields.float('Credit Control Tolerance'),
3076- # This is not a property on the partner because we cannot search
3077- # on fields.property (subclass fields.function).
3078- 'credit_policy_id': fields.many2one(
3079- 'credit.control.policy',
3080- 'Credit Control Policy',
3081- help=("The Credit Control Policy used on partners by default. This "
3082- "setting can be overriden on partners or invoices.")),
3083- }
3084-
3085- _defaults = {"credit_control_tolerance": 0.1}
3086-
3087
3088=== removed file 'account_credit_control/company_view.xml'
3089--- account_credit_control/company_view.xml 2012-10-30 08:20:00 +0000
3090+++ account_credit_control/company_view.xml 1970-01-01 00:00:00 +0000
3091@@ -1,16 +0,0 @@
3092-<openerp>
3093- <data>
3094- <record id="credit_control_company_form" model="ir.ui.view">
3095- <field name="name">credit.control.company.form</field>
3096- <field name="model">res.company</field>
3097- <field name="type">form</field>
3098- <field name="inherit_id" ref="base.view_company_form"/>
3099- <field name="arch" type="xml">
3100- <field name="currency_id" position="after">
3101- <field name="credit_policy_id" widget="selection"/>
3102- <field name="credit_control_tolerance"/>
3103- </field>
3104- </field>
3105- </record>
3106- </data>
3107-</openerp>
3108
3109=== removed file 'account_credit_control/credit_control_demo.xml'
3110--- account_credit_control/credit_control_demo.xml 2012-10-22 11:06:14 +0000
3111+++ account_credit_control/credit_control_demo.xml 1970-01-01 00:00:00 +0000
3112@@ -1,33 +0,0 @@
3113-<openerp>
3114- <data>
3115- <record id="a_recv_1" model="account.account">
3116- <field name="code">X11002-a</field>
3117- <field name="name">B2B Debtors - (test)</field>
3118- <field ref="account.cas" name="parent_id"/>
3119- <field name="type">receivable</field>
3120- <field eval="True" name="reconcile"/>
3121- <field name="credit_policy_id" ref="credit_control_no_follow"/>
3122- <field name="user_type" ref="account.data_account_type_receivable"/>
3123- </record>
3124-
3125- <record id="a_recv_2" model="account.account">
3126- <field name="code">X11002-b</field>
3127- <field name="name">B2C Debtors - (test)</field>
3128- <field ref="account.cas" name="parent_id"/>
3129- <field name="type">receivable</field>
3130- <field eval="True" name="reconcile"/>
3131- <field name="credit_policy_id" ref="credit_control_2_time"/>
3132- <field name="user_type" ref="account.data_account_type_receivable"/>
3133- </record>
3134-
3135- <record id="a_recv_3" model="account.account">
3136- <field name="code">X11002-c</field>
3137- <field name="name">New Debtors - (test)</field>
3138- <field ref="account.cas" name="parent_id"/>
3139- <field name="type">receivable</field>
3140- <field eval="True" name="reconcile"/>
3141- <field name="credit_policy_id" ref="credit_control_3_time"/>
3142- <field name="user_type" ref="account.data_account_type_receivable"/>
3143- </record>
3144- </data>
3145-</openerp>
3146
3147=== removed file 'account_credit_control/data.xml'
3148--- account_credit_control/data.xml 2012-11-12 08:46:50 +0000
3149+++ account_credit_control/data.xml 1970-01-01 00:00:00 +0000
3150@@ -1,236 +0,0 @@
3151-<openerp>
3152- <data noupdate="1">
3153- <!--Email template -->
3154- <record id="email_template_credit_control_base" model="email.template">
3155- <field name="name">Credit Control Email</field>
3156- <field name="email_from">noreply@localhost</field>
3157- <field name="subject">Credit Control: (${object.current_policy_level.name or 'n/a' })</field>
3158- <field name="email_to">${object.get_email() or ''}</field>
3159- <field name="model_id" ref="model_credit_control_communication"/>
3160- <field name="auto_delete" eval="True"/>
3161- <field name="body_html"><![CDATA[
3162- <%page args="object, user=None, ctx=None, quote=None, format_exception=True, mode='email'" />
3163- %if mode != 'pdf':
3164- <!-- your css here -->
3165- <style type="text/css">
3166- </style>
3167- %endif
3168- <div>
3169-
3170- <p>Dear ${object.partner_id.name or ''},</p>
3171-
3172- <pre class="custom_text">${object.current_policy_level.custom_text}</pre>
3173-
3174- <table style="border: 1px solid" width="100%">
3175- <caption><b>Summary</b></caption>
3176- <tr>
3177- <th>date due</th>
3178- <th>Amount due</th>
3179- <th>Amount balance</th>
3180- <th>Invoice number</th>
3181- </tr>
3182-%for line in object.credit_control_line_ids:
3183- <tr>
3184- <td>${line.date_due}</td>
3185- <td>${line.amount_due}</td>
3186- <td>${line.balance_due}</td>
3187- %if line.invoice_id:
3188- <td>${line.invoice_id.number}</td>
3189- %else:
3190- <td>n/a</td>
3191- %endif
3192-%endfor
3193- </table>
3194- <br/>
3195- <br/>
3196-
3197- <p>If you have any question, do not hesitate to contact us.</p>
3198-
3199- <p>Thank you for choosing ${object.company_id.name}! </p>
3200-
3201- -- more info here --
3202- <p>${object.user_id.name} ${object.user_id.user_email and '<%s>'%(object.user_id.user_email) or ''}<br/>
3203- ${object.company_id.name}<br/>
3204- % if object.company_id.street:
3205- ${object.company_id.street or ''}<br/>
3206-
3207- % endif
3208-
3209- % if object.company_id.street2:
3210- ${object.company_id.street2}<br/>
3211- % endif
3212- % if object.company_id.city or object.company_id.zip:
3213- ${object.company_id.zip or ''} ${object.company_id.city or ''}<br/>
3214- % endif
3215- % if object.company_id.country_id:
3216- ${object.company_id.state_id and ('%s, ' % object.company_id.state_id.name) or ''} ${object.company_id.country_id.name or ''}<br/>
3217- % endif
3218- % if object.company_id.phone:
3219- Phone: ${object.company_id.phone}<br/>
3220- % endif
3221- % if object.company_id.website:
3222- ${object.company_id.website or ''}<br/>
3223- % endif
3224- ]]></field>
3225- </record>
3226-
3227- <!-- policy no follow -->
3228- <record model="credit.control.policy"
3229- id="credit_control_no_follow">
3230- <field name="name">No follow</field>
3231- <field name="do_nothing" eval="1"/>
3232- </record>
3233-
3234- <!-- policy 1 -->
3235- <record model="credit.control.policy"
3236- id="credit_control_3_time">
3237- <field name="name">3 time policy</field>
3238- </record>
3239-
3240- <record model="credit.control.policy.level"
3241- id="3_time_1">
3242- <field name="name">10 days net</field>
3243- <field name="level" eval="1"/>
3244- <field name="computation_mode">net_days</field>
3245- <field name="delay_days" eval="10"/>
3246- <field name="email_template_id" ref="email_template_credit_control_base"/>
3247- <field name="policy_id" ref="credit_control_3_time"/>
3248- <field name="channel">email</field>
3249- <field name="custom_text">Dear Sir or Madam,
3250-
3251-Our records indicate that we have not received the payment of the
3252-above mentioned invoice (copy attached for your convenience). If it
3253-has already been sent, please disregard this notice. If not, please
3254-proceed with payment within 10 days.
3255-
3256-Thank you in advance for your anticipated cooperation in this matter.
3257-
3258-Best regards,
3259-</field>
3260- </record>
3261-
3262- <record model="credit.control.policy.level"
3263- id="3_time_2">
3264- <field name="name">30 days end of month</field>
3265- <field name="level" eval="2"/>
3266- <field name="computation_mode">end_of_month</field>
3267- <field name="delay_days" eval="30"/>
3268- <field name="email_template_id" ref="email_template_credit_control_base"/>
3269- <field name="policy_id" ref="credit_control_3_time"/>
3270- <field name="channel">email</field>
3271- <field name="custom_text">Dear Sir or Madam,
3272-
3273-Our records indicate that we have not yet received the payment of the
3274-above mentioned invoice (copy attached for your convenience) despite
3275-our first reminder. If it has already been sent, please disregard
3276-this notice. If not, please proceed with payment within 5 days.
3277-
3278-Thank you in advance for your anticipated cooperation in this matter.
3279-
3280-Best regards,
3281-</field>
3282- </record>
3283-
3284- <record model="credit.control.policy.level"
3285- id="3_time_3">
3286- <field name="name">10 days last reminder</field>
3287- <field name="level" eval="3"/>
3288- <field name="computation_mode">previous_date</field>
3289- <field name="delay_days" eval="10"/>
3290- <field name="email_template_id" ref="email_template_credit_control_base"/>
3291- <field name="policy_id" ref="credit_control_3_time"/>
3292- <field name="channel">letter</field>
3293- <field name="custom_text">Dear Sir or Madam,
3294-
3295-Our records indicate that we still have not received the payment of
3296-the above mentioned invoice (copy attached) despite our two reminders.
3297-If payment have already been sent, please disregard this notice. If
3298-not, please proceed with payment. If your payment has not been
3299-received in the next 5 days, your file will be transfered to our debt
3300-collection agency.
3301-
3302-Should you need us to arrange a payment plan for you, please advise.
3303-A customer account statement is enclosed for you convenience.
3304-
3305-Thank you in advance for your anticipated cooperation in this matter.
3306-
3307-Best regards,
3308-</field>
3309- </record>
3310-
3311- <!-- policy 2 -->
3312- <record model="credit.control.policy"
3313- id="credit_control_2_time">
3314- <field name="name">2 time policy</field>
3315- </record>
3316-
3317- <record model="credit.control.policy.level"
3318- id="2_time_1">
3319- <field name="name">30 days end of month</field>
3320- <field name="level" eval="1"/>
3321- <field name="computation_mode">end_of_month</field>
3322- <field name="delay_days" eval="30"/>
3323- <field name="email_template_id" ref="email_template_credit_control_base"/>
3324- <field name="policy_id" ref="credit_control_2_time"/>
3325- <field name="channel">email</field>
3326- <field name="custom_text">Dear Sir or Madam,
3327-
3328-Our records indicate that we have not received the payment of the
3329-above mentioned invoice (copy attached for your convenience). If it
3330-has already been sent, please disregard this notice. If not, please
3331-proceed with payment within 10 days.
3332-
3333-Thank you in advance for your anticipated cooperation in this matter.
3334-
3335-Best regards,
3336-</field>
3337- </record>
3338-
3339- <record model="credit.control.policy.level"
3340- id="2_time_2">
3341- <field name="name">60 days last reminder</field>
3342- <field name="level" eval="2"/>
3343- <field name="computation_mode">previous_date</field>
3344- <field name="delay_days" eval="60"/>
3345- <field name="email_template_id" ref="email_template_credit_control_base"/>
3346- <field name="policy_id" ref="credit_control_2_time"/>
3347- <field name="channel">letter</field>
3348- <field name="custom_text">Dear Sir or Madam,
3349-
3350-Our records indicate that we still have not received the payment of
3351-the above mentioned invoice (copy attached) despite our reminder.
3352-If payment have already been sent, please disregard this notice. If
3353-not, please proceed with payment. If your payment has not been
3354-received in the next 5 days, your file will be transfered to our debt
3355-collection agency.
3356-
3357-Should you need us to arrange a payment plan for you, please advise.
3358-A customer account statement is enclosed for you convenience.
3359-
3360-Thank you in advance for your anticipated cooperation in this matter.
3361-
3362-Best regards,
3363-</field>
3364- </record>
3365-
3366- <record id="group_account_credit_control_manager" model="res.groups">
3367- <field name="name">Credit Control Manager</field>
3368- <field name="category_id" ref="base.module_category_accounting_and_finance"/>
3369- </record>
3370-
3371- <record id="group_account_credit_control_user" model="res.groups" context="{'noadmin':True}">
3372- <field name="name">Credit Control User</field>
3373- <field name="category_id" ref="base.module_category_accounting_and_finance"/>
3374- </record>
3375-
3376- <record id="group_account_credit_control_info" model="res.groups" context="{'noadmin':True}">
3377- <field name="name">Credit Control Info</field>
3378- <field name="category_id" ref="base.module_category_accounting_and_finance"/>
3379- </record>
3380-
3381- <record id="base.main_company" model="res.company">
3382- <field name="credit_policy_id" ref="credit_control_3_time"/>
3383- </record>
3384-
3385- </data>
3386-</openerp>
3387
3388=== removed directory 'account_credit_control/i18n'
3389=== removed file 'account_credit_control/i18n/account_credit_control.pot'
3390--- account_credit_control/i18n/account_credit_control.pot 2012-11-07 13:37:09 +0000
3391+++ account_credit_control/i18n/account_credit_control.pot 1970-01-01 00:00:00 +0000
3392@@ -1,787 +0,0 @@
3393-# Translation of OpenERP Server.
3394-# This file contains the translation of the following modules:
3395-# * account_credit_control
3396-#
3397-msgid ""
3398-msgstr ""
3399-"Project-Id-Version: OpenERP Server 6.1\n"
3400-"Report-Msgid-Bugs-To: \n"
3401-"POT-Creation-Date: 2012-11-07 13:23+0000\n"
3402-"PO-Revision-Date: 2012-11-07 13:23+0000\n"
3403-"Last-Translator: <>\n"
3404-"Language-Team: \n"
3405-"MIME-Version: 1.0\n"
3406-"Content-Type: text/plain; charset=UTF-8\n"
3407-"Content-Transfer-Encoding: \n"
3408-"Plural-Forms: \n"
3409-
3410-#. module: account_credit_control
3411-#: model:credit.control.policy.level,custom_text:account_credit_control.2_time_1
3412-#: model:credit.control.policy.level,custom_text:account_credit_control.3_time_1
3413-msgid "Dear Sir or Madam,\n"
3414-"\n"
3415-"Our records indicate that we have not received the payment of the\n"
3416-"above mentioned invoice (copy attached for your convenience). If it\n"
3417-"has already been sent, please disregard this notice. If not, please\n"
3418-"proceed with payment within 10 days.\n"
3419-"\n"
3420-"Thank you in advance for your anticipated cooperation in this matter.\n"
3421-"\n"
3422-"Best regards,\n"
3423-""
3424-msgstr ""
3425-
3426-#. module: account_credit_control
3427-#: field:credit.control.policy.level,custom_text:0
3428-msgid "Custom Message"
3429-msgstr ""
3430-
3431-#. module: account_credit_control
3432-#: model:ir.model,name:account_credit_control.model_credit_control_mailer
3433-msgid "Mass credit line mailer"
3434-msgstr ""
3435-
3436-#. module: account_credit_control
3437-#: view:credit.control.lines:0
3438-msgid "More..."
3439-msgstr ""
3440-
3441-#. module: account_credit_control
3442-#: view:credit.control.lines:0
3443-msgid "Group By..."
3444-msgstr ""
3445-
3446-#. module: account_credit_control
3447-#: model:ir.actions.act_window,name:account_credit_control.credit_control_run
3448-#: model:ir.ui.menu,name:account_credit_control.credit_control_run_menu
3449-msgid "Credit Control Run"
3450-msgstr ""
3451-
3452-#. module: account_credit_control
3453-#: field:credit.control.policy.level,computation_mode:0
3454-msgid "Compute Mode"
3455-msgstr ""
3456-
3457-#. module: account_credit_control
3458-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_emailer_wizard
3459-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_emailer_wizard_menu_action
3460-msgid "Send By Email"
3461-msgstr ""
3462-
3463-#. module: account_credit_control
3464-#: model:ir.model,name:account_credit_control.model_credit_control_line
3465-msgid "A credit control line"
3466-msgstr ""
3467-
3468-#. module: account_credit_control
3469-#: field:credit.control.line,move_line_id:0
3470-msgid "Move line"
3471-msgstr ""
3472-
3473-#. module: account_credit_control
3474-#: model:res.groups,name:account_credit_control.group_account_credit_control_info
3475-msgid "Credit Control Info"
3476-msgstr ""
3477-
3478-#. module: account_credit_control
3479-#: model:ir.model,name:account_credit_control.model_credit_control_emailer
3480-msgid "Mass credit line emailer"
3481-msgstr ""
3482-
3483-#. module: account_credit_control
3484-#: field:credit.control.line,account_id:0
3485-#: view:credit.control.lines:0
3486-#: model:ir.model,name:account_credit_control.model_account_account
3487-msgid "Account"
3488-msgstr ""
3489-
3490-#. module: account_credit_control
3491-#: selection:credit.control.policy.level,computation_mode:0
3492-msgid "Due Date"
3493-msgstr ""
3494-
3495-#. module: account_credit_control
3496-#: field:credit.control.communication,current_policy_level:0
3497-#: field:credit.control.line,level:0
3498-#: view:credit.control.lines:0
3499-#: field:credit.control.policy.level,level:0
3500-msgid "Level"
3501-msgstr ""
3502-
3503-#. module: account_credit_control
3504-#: field:credit.control.policy.level,delay_days:0
3505-msgid "Delay (in days)"
3506-msgstr ""
3507-
3508-#. module: account_credit_control
3509-#: model:ir.model,name:account_credit_control.model_credit_control_communication
3510-msgid "credit control communication"
3511-msgstr ""
3512-
3513-#. module: account_credit_control
3514-#: sql_constraint:account.move.line:0
3515-msgid "Wrong credit or debit value in accounting entry !"
3516-msgstr ""
3517-
3518-#. module: account_credit_control
3519-#: constraint:account.account:0
3520-msgid "Error ! You can not create recursive accounts."
3521-msgstr ""
3522-
3523-#. module: account_credit_control
3524-#: view:credit.control.emailer:0
3525-msgid "Send emails for the selected lines"
3526-msgstr ""
3527-
3528-#. module: account_credit_control
3529-#: model:ir.model,name:account_credit_control.model_credit_control_marker
3530-msgid "Mass marker"
3531-msgstr ""
3532-
3533-#. module: account_credit_control
3534-#: field:account.invoice,credit_policy_id:0
3535-#: field:res.company,credit_policy_id:0
3536-#: field:res.partner,credit_policy_id:0
3537-msgid "Credit Control Policy"
3538-msgstr ""
3539-
3540-#. module: account_credit_control
3541-#: view:account.invoice:0
3542-msgid "Credit control"
3543-msgstr ""
3544-
3545-#. module: account_credit_control
3546-#: constraint:account.move.line:0
3547-msgid "The date of your Journal Entry is not in the defined period! You should change the date or remove this constraint from the journal."
3548-msgstr ""
3549-
3550-#. module: account_credit_control
3551-#: view:credit.control.lines:0
3552-msgid "New lines"
3553-msgstr ""
3554-
3555-#. module: account_credit_control
3556-#: field:credit.control.line,date_sent:0
3557-msgid "Sent date"
3558-msgstr ""
3559-
3560-#. module: account_credit_control
3561-#: view:credit.control.policy:0
3562-#: field:credit.control.policy,account_ids:0
3563-msgid "Accounts"
3564-msgstr ""
3565-
3566-#. module: account_credit_control
3567-#: field:credit.control.communication,partner_id:0
3568-#: field:credit.control.line,partner_id:0
3569-#: view:credit.control.lines:0
3570-#: model:ir.model,name:account_credit_control.model_res_partner
3571-msgid "Partner"
3572-msgstr ""
3573-
3574-#. module: account_credit_control
3575-#: view:credit.control.emailer:0
3576-msgid "Send the emails"
3577-msgstr ""
3578-
3579-#. module: account_credit_control
3580-#: view:credit.control.marker:0
3581-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_marker_wizard
3582-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_marker_wizard_menu_action
3583-msgid "Change Lines' State"
3584-msgstr ""
3585-
3586-#. module: account_credit_control
3587-#: model:credit.control.policy.level,custom_text:account_credit_control.3_time_2
3588-msgid "Dear Sir or Madam,\n"
3589-"\n"
3590-"Our records indicate that we have not yet received the payment of the\n"
3591-"above mentioned invoice (copy attached for your convenience) despite\n"
3592-"our first reminder. If it has already been sent, please disregard\n"
3593-"this notice. If not, please proceed with payment within 5 days.\n"
3594-"\n"
3595-"Thank you in advance for your anticipated cooperation in this matter.\n"
3596-"\n"
3597-"Best regards,\n"
3598-""
3599-msgstr ""
3600-
3601-#. module: account_credit_control
3602-#: field:credit.control.policy.level,policy_id:0
3603-msgid "Related Policy"
3604-msgstr ""
3605-
3606-#. module: account_credit_control
3607-#: sql_constraint:account.account:0
3608-msgid "The code of the account must be unique per company !"
3609-msgstr ""
3610-
3611-#. module: account_credit_control
3612-#: constraint:res.company:0
3613-msgid "Error! You can not create recursive companies."
3614-msgstr ""
3615-
3616-#. module: account_credit_control
3617-#: view:credit.control.policy:0
3618-#: view:credit.control.policy.level:0
3619-msgid "Mail and reporting"
3620-msgstr ""
3621-
3622-#. module: account_credit_control
3623-#: view:credit.control.printer:0
3624-msgid "Print"
3625-msgstr ""
3626-
3627-#. module: account_credit_control
3628-#: selection:credit.control.line,channel:0
3629-#: selection:credit.control.policy.level,channel:0
3630-msgid "Email"
3631-msgstr ""
3632-
3633-#. module: account_credit_control
3634-#: field:credit.control.line,channel:0
3635-#: view:credit.control.lines:0
3636-#: field:credit.control.policy.level,channel:0
3637-msgid "Channel"
3638-msgstr ""
3639-
3640-#. module: account_credit_control
3641-#: help:credit.control.run,manual_ids:0
3642-msgid "If a credit control line has been generated on a policy and the policy has been changed meantime, it has to be handled manually"
3643-msgstr ""
3644-
3645-#. module: account_credit_control
3646-#: field:credit.control.printer,state:0
3647-msgid "state"
3648-msgstr ""
3649-
3650-#. module: account_credit_control
3651-#: field:credit.control.run,report:0
3652-msgid "Report"
3653-msgstr ""
3654-
3655-#. module: account_credit_control
3656-#: selection:credit.control.policy.level,computation_mode:0
3657-msgid "Due Date, End Of Month"
3658-msgstr ""
3659-
3660-#. module: account_credit_control
3661-#: field:credit.control.marker,name:0
3662-msgid "Mark as"
3663-msgstr ""
3664-
3665-#. module: account_credit_control
3666-#: model:credit.control.policy.level,custom_text:account_credit_control.2_time_2
3667-msgid "Dear Sir or Madam,\n"
3668-"\n"
3669-"Our records indicate that we still have not received the payment of\n"
3670-"the above mentioned invoice (copy attached) despite our reminder.\n"
3671-"If payment have already been sent, please disregard this notice. If\n"
3672-"not, please proceed with payment. If your payment has not been\n"
3673-"received in the next 5 days, your file will be transfered to our debt\n"
3674-"collection agency.\n"
3675-"\n"
3676-"Should you need us to arrange a payment plan for you, please advise.\n"
3677-"A customer account statement is enclosed for you convenience.\n"
3678-"\n"
3679-"Thank you in advance for your anticipated cooperation in this matter.\n"
3680-"\n"
3681-"Best regards,\n"
3682-""
3683-msgstr ""
3684-
3685-#. module: account_credit_control
3686-#: view:credit.control.run:0
3687-#: field:credit.control.run,policy_ids:0
3688-msgid "Policies"
3689-msgstr ""
3690-
3691-#. module: account_credit_control
3692-#: field:credit.control.line,date_due:0
3693-msgid "Due date"
3694-msgstr ""
3695-
3696-#. module: account_credit_control
3697-#: field:credit.control.policy,do_nothing:0
3698-msgid "Do nothing"
3699-msgstr ""
3700-
3701-#. module: account_credit_control
3702-#: field:credit.control.line,currency_id:0
3703-msgid "Currency"
3704-msgstr ""
3705-
3706-#. module: account_credit_control
3707-#: constraint:account.account:0
3708-msgid "Configuration Error! \n"
3709-"You can not define children to an account with internal type different of \"View\"! "
3710-msgstr ""
3711-
3712-#. module: account_credit_control
3713-#: model:ir.model,name:account_credit_control.model_credit_control_printer
3714-msgid "Mass printer"
3715-msgstr ""
3716-
3717-#. module: account_credit_control
3718-#: field:credit.control.communication,company_id:0
3719-#: field:credit.control.line,company_id:0
3720-#: field:credit.control.policy,company_id:0
3721-msgid "Company"
3722-msgstr ""
3723-
3724-#. module: account_credit_control
3725-#: view:credit.control.marker:0
3726-#: model:ir.actions.act_window,help:account_credit_control.open_credit_line_marker_wizard
3727-msgid "Change the state of the selected lines."
3728-msgstr ""
3729-
3730-#. module: account_credit_control
3731-#: view:credit.control.printer:0
3732-msgid "Print the selected lines"
3733-msgstr ""
3734-
3735-#. module: account_credit_control
3736-#: selection:credit.control.line,state:0
3737-#: view:credit.control.lines:0
3738-#: selection:credit.control.marker,name:0
3739-#: selection:credit.control.run,state:0
3740-msgid "Draft"
3741-msgstr ""
3742-
3743-#. module: account_credit_control
3744-#: view:credit.control.lines:0
3745-msgid "Credit policy"
3746-msgstr ""
3747-
3748-#. module: account_credit_control
3749-#: view:credit.control.policy:0
3750-#: view:credit.control.policy.level:0
3751-msgid "Delay Setting"
3752-msgstr ""
3753-
3754-#. module: account_credit_control
3755-#: field:credit.control.line,balance_due:0
3756-msgid "Due balance"
3757-msgstr ""
3758-
3759-#. module: account_credit_control
3760-#: view:credit.control.lines:0
3761-msgid "Credit policy level"
3762-msgstr ""
3763-
3764-#. module: account_credit_control
3765-#: model:ir.model,name:account_credit_control.model_credit_control_run
3766-msgid "Credit control line generator"
3767-msgstr ""
3768-
3769-#. module: account_credit_control
3770-#: field:credit.control.communication,user_id:0
3771-msgid "User"
3772-msgstr ""
3773-
3774-#. module: account_credit_control
3775-#: selection:credit.control.line,channel:0
3776-#: selection:credit.control.policy.level,channel:0
3777-msgid "Letter"
3778-msgstr ""
3779-
3780-#. module: account_credit_control
3781-#: model:ir.model,name:account_credit_control.model_account_move_line
3782-msgid "Journal Items"
3783-msgstr ""
3784-
3785-#. module: account_credit_control
3786-#: model:ir.actions.act_window,help:account_credit_control.open_credit_line_printer_wizard
3787-msgid "Print selected lines"
3788-msgstr ""
3789-
3790-#. module: account_credit_control
3791-#: constraint:account.move.line:0
3792-msgid "You can not create journal items on an account of type view."
3793-msgstr ""
3794-
3795-#. module: account_credit_control
3796-#: field:credit.control.emailer,line_ids:0
3797-#: field:credit.control.marker,line_ids:0
3798-#: field:credit.control.printer,line_ids:0
3799-#: model:ir.actions.act_window,name:account_credit_control.credit_control_line_action
3800-#: model:ir.ui.menu,name:account_credit_control.credit_control_line_action_menu
3801-#: field:res.partner,credit_control_line_ids:0
3802-msgid "Credit Control Lines"
3803-msgstr ""
3804-
3805-#. module: account_credit_control
3806-#: model:credit.control.policy.level,custom_text:account_credit_control.3_time_3
3807-msgid "Dear Sir or Madam,\n"
3808-"\n"
3809-"Our records indicate that we still have not received the payment of\n"
3810-"the above mentioned invoice (copy attached) despite our two reminders.\n"
3811-"If payment have already been sent, please disregard this notice. If\n"
3812-"not, please proceed with payment. If your payment has not been\n"
3813-"received in the next 5 days, your file will be transfered to our debt\n"
3814-"collection agency.\n"
3815-"\n"
3816-"Should you need us to arrange a payment plan for you, please advise.\n"
3817-"A customer account statement is enclosed for you convenience.\n"
3818-"\n"
3819-"Thank you in advance for your anticipated cooperation in this matter.\n"
3820-"\n"
3821-"Best regards,\n"
3822-""
3823-msgstr ""
3824-
3825-#. module: account_credit_control
3826-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_printer_wizard
3827-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_printer_wizard_menu_action
3828-msgid "Print Lines"
3829-msgstr ""
3830-
3831-#. module: account_credit_control
3832-#: field:credit.control.run,date:0
3833-msgid "Controlling Date"
3834-msgstr ""
3835-
3836-#. module: account_credit_control
3837-#: model:ir.model,name:account_credit_control.model_credit_control_policy
3838-msgid "Define a reminder policy"
3839-msgstr ""
3840-
3841-#. module: account_credit_control
3842-#: field:credit.control.policy.level,email_template_id:0
3843-msgid "Email Template"
3844-msgstr ""
3845-
3846-#. module: account_credit_control
3847-#: selection:credit.control.line,state:0
3848-#: view:credit.control.lines:0
3849-#: selection:credit.control.marker,name:0
3850-msgid "Ready To Send"
3851-msgstr ""
3852-
3853-#. module: account_credit_control
3854-#: model:ir.model,name:account_credit_control.model_res_company
3855-msgid "Companies"
3856-msgstr ""
3857-
3858-#. module: account_credit_control
3859-#: field:credit.control.printer,mark_as_sent:0
3860-msgid "Mark letter lines as sent"
3861-msgstr ""
3862-
3863-#. module: account_credit_control
3864-#: view:credit.control.run:0
3865-msgid "Compute Credit Control Lines"
3866-msgstr ""
3867-
3868-#. module: account_credit_control
3869-#: selection:credit.control.policy.level,computation_mode:0
3870-msgid "Previous Reminder"
3871-msgstr ""
3872-
3873-#. module: account_credit_control
3874-#: selection:credit.control.line,state:0
3875-#: view:credit.control.lines:0
3876-msgid "Error"
3877-msgstr ""
3878-
3879-#. module: account_credit_control
3880-#: sql_constraint:account.invoice:0
3881-msgid "Invoice Number must be unique per Company!"
3882-msgstr ""
3883-
3884-#. module: account_credit_control
3885-#: view:credit.control.run:0
3886-msgid "Report and Errors"
3887-msgstr ""
3888-
3889-#. module: account_credit_control
3890-#: constraint:account.account:0
3891-msgid "Configuration Error! \n"
3892-"You can not select an account type with a deferral method different of \"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
3893-msgstr ""
3894-
3895-#. module: account_credit_control
3896-#: field:credit.control.line,state:0
3897-#: field:credit.control.run,state:0
3898-msgid "State"
3899-msgstr ""
3900-
3901-#. module: account_credit_control
3902-#: help:credit.control.policy,do_nothing:0
3903-msgid "For policies which should not generate lines or are obsolete"
3904-msgstr ""
3905-
3906-#. module: account_credit_control
3907-#: field:account.account,credit_control_line_ids:0
3908-#: field:account.invoice,credit_control_line_ids:0
3909-#: field:credit.control.communication,credit_control_line_ids:0
3910-#: model:ir.actions.act_window,name:account_credit_control.act_account_credit_relation_relation
3911-#: model:ir.actions.act_window,name:account_credit_control.act_partner_credit_relation_relation
3912-msgid "Credit Lines"
3913-msgstr ""
3914-
3915-#. module: account_credit_control
3916-#: selection:credit.control.line,state:0
3917-#: selection:credit.control.marker,name:0
3918-#: selection:credit.control.run,state:0
3919-msgid "Done"
3920-msgstr ""
3921-
3922-#. module: account_credit_control
3923-#: field:account.move.line,invoice_id:0
3924-#: field:credit.control.line,invoice_id:0
3925-#: view:credit.control.lines:0
3926-#: model:ir.model,name:account_credit_control.model_account_invoice
3927-msgid "Invoice"
3928-msgstr ""
3929-
3930-#. module: account_credit_control
3931-#: view:credit.control.emailer:0
3932-#: view:credit.control.marker:0
3933-#: view:credit.control.printer:0
3934-msgid "Cancel"
3935-msgstr ""
3936-
3937-#. module: account_credit_control
3938-#: view:credit.control.printer:0
3939-msgid "Close"
3940-msgstr ""
3941-
3942-#. module: account_credit_control
3943-#: selection:credit.control.line,state:0
3944-msgid "Emailing Error"
3945-msgstr ""
3946-
3947-#. module: account_credit_control
3948-#: help:account.invoice,credit_policy_id:0
3949-msgid "The Credit Control Policy used for this invoice. If nothing is defined, it will use the account setting or the partner setting."
3950-msgstr ""
3951-
3952-#. module: account_credit_control
3953-#: view:credit.control.lines:0
3954-msgid "Run date"
3955-msgstr ""
3956-
3957-#. module: account_credit_control
3958-#: model:res.groups,name:account_credit_control.group_account_credit_control_user
3959-msgid "Credit Control User"
3960-msgstr ""
3961-
3962-#. module: account_credit_control
3963-#: model:email.template,body_html:account_credit_control.email_template_credit_control_base
3964-msgid "\n"
3965-" <%page args=\"object, user=None, ctx=None, quote=None, format_exception=True, mode='mail'\" />\n"
3966-" %if mode != 'pdf':\n"
3967-" <!-- your css here -->\n"
3968-" <style type=\"text/css\">\n"
3969-" </style>\n"
3970-" %endif\n"
3971-" <div>\n"
3972-"\n"
3973-" <p>Dear ${object.partner_id.name or ''},</p>\n"
3974-"\n"
3975-" <pre class=\"custom_text\">${object.current_policy_level.custom_text}</pre>\n"
3976-"\n"
3977-" <table style=\"border: 1px solid\" width=\"100%\">\n"
3978-" <caption><b>Summary</b></caption>\n"
3979-" <tr>\n"
3980-" <th>date due</th>\n"
3981-" <th>Amount due</th>\n"
3982-" <th>Amount balance</th>\n"
3983-" <th>Invoice number</th>\n"
3984-" </tr>\n"
3985-"%for line in object.credit_control_line_ids:\n"
3986-" <tr>\n"
3987-" <td>${line.date_due}</td>\n"
3988-" <td>${line.amount_due}</td>\n"
3989-" <td>${line.balance_due}</td>\n"
3990-" %if line.invoice_id:\n"
3991-" <td>${line.invoice_id.number}</td>\n"
3992-" %else:\n"
3993-" <td>n/a</td>\n"
3994-" %endif\n"
3995-"%endfor\n"
3996-" </table>\n"
3997-" <br/>\n"
3998-" <br/>\n"
3999-"\n"
4000-" <p>If you have any question, do not hesitate to contact us.</p>\n"
4001-"\n"
4002-" <p>Thank you for choosing ${object.company_id.name}! </p>\n"
4003-"\n"
4004-" -- more info here --\n"
4005-" <p>${object.user_id.name} ${object.user_id.user_email and '<%s>'%(object.user_id.user_email) or ''}<br/>\n"
4006-" ${object.company_id.name}<br/>\n"
4007-" % if object.company_id.street:\n"
4008-" ${object.company_id.street or ''}<br/>\n"
4009-"\n"
4010-" % endif\n"
4011-"\n"
4012-" % if object.company_id.street2:\n"
4013-" ${object.company_id.street2}<br/>\n"
4014-" % endif\n"
4015-" % if object.company_id.city or object.company_id.zip:\n"
4016-" ${object.company_id.zip or ''} ${object.company_id.city or ''}<br/>\n"
4017-" % endif\n"
4018-" % if object.company_id.country_id:\n"
4019-" ${object.company_id.state_id and ('%s, ' % object.company_id.state_id.name) or ''} ${object.company_id.country_id.name or ''}<br/>\n"
4020-" % endif\n"
4021-" % if object.company_id.phone:\n"
4022-" Phone: ${object.company_id.phone}<br/>\n"
4023-" % endif\n"
4024-" % if object.company_id.website:\n"
4025-" ${object.company_id.website or ''}<br/>\n"
4026-" % endif\n"
4027-" "
4028-msgstr ""
4029-
4030-#. module: account_credit_control
4031-#: constraint:account.move.line:0
4032-msgid "Company must be the same for its related account and period."
4033-msgstr ""
4034-
4035-#. module: account_credit_control
4036-#: field:credit.control.run,manual_ids:0
4037-msgid "Lines to handle manually"
4038-msgstr ""
4039-
4040-#. module: account_credit_control
4041-#: model:ir.ui.menu,name:account_credit_control.base_credit_control_configuration_menu
4042-#: model:ir.ui.menu,name:account_credit_control.base_credit_control_menu
4043-msgid "Credit Control"
4044-msgstr ""
4045-
4046-#. module: account_credit_control
4047-#: view:credit.control.policy:0
4048-#: field:credit.control.policy,level_ids:0
4049-msgid "Policy Levels"
4050-msgstr ""
4051-
4052-#. module: account_credit_control
4053-#: constraint:account.move.line:0
4054-msgid "The selected account of your Journal Entry forces to provide a secondary currency. You should remove the secondary currency on the account or select a multi-currency view on the journal."
4055-msgstr ""
4056-
4057-#. module: account_credit_control
4058-#: field:credit.control.line,policy_id:0
4059-msgid "Policy"
4060-msgstr ""
4061-
4062-#. module: account_credit_control
4063-#: model:email.template,subject:account_credit_control.email_template_credit_control_base
4064-msgid "Credit Control: (${object.current_policy_level.name or 'n/a' })"
4065-msgstr ""
4066-
4067-#. module: account_credit_control
4068-#: field:credit.control.printer,report_file:0
4069-msgid "Generated Report"
4070-msgstr ""
4071-
4072-#. module: account_credit_control
4073-#: view:credit.control.run:0
4074-msgid "Move lines To be treated manually"
4075-msgstr ""
4076-
4077-#. module: account_credit_control
4078-#: model:ir.actions.act_window,name:account_credit_control.credit_policy_configuration_action
4079-#: model:ir.ui.menu,name:account_credit_control.credit_policy_configuration_action_menu
4080-msgid "Credit Control Policies"
4081-msgstr ""
4082-
4083-#. module: account_credit_control
4084-#: model:ir.actions.act_window,help:account_credit_control.open_credit_line_emailer_wizard
4085-msgid "Send an email for the selected lines."
4086-msgstr ""
4087-
4088-#. module: account_credit_control
4089-#: view:credit.control.lines:0
4090-msgid "Sent"
4091-msgstr ""
4092-
4093-#. module: account_credit_control
4094-#: constraint:credit.control.policy.level:0
4095-msgid "The smallest level can not be of type Previous Reminder"
4096-msgstr ""
4097-
4098-#. module: account_credit_control
4099-#: help:credit.control.policy,account_ids:0
4100-msgid "This policy will be active only for the selected accounts"
4101-msgstr ""
4102-
4103-#. module: account_credit_control
4104-#: help:credit.control.printer,mark_as_sent:0
4105-msgid "Only letter lines will be marked."
4106-msgstr ""
4107-
4108-#. module: account_credit_control
4109-#: view:credit.control.line:0
4110-#: view:credit.control.lines:0
4111-msgid "Control Credit Lines"
4112-msgstr ""
4113-
4114-#. module: account_credit_control
4115-#: model:res.groups,name:account_credit_control.group_account_credit_control_manager
4116-msgid "Credit Control Manager"
4117-msgstr ""
4118-
4119-#. module: account_credit_control
4120-#: sql_constraint:res.company:0
4121-msgid "The company name must be unique !"
4122-msgstr ""
4123-
4124-#. module: account_credit_control
4125-#: field:credit.control.policy,name:0
4126-#: field:credit.control.policy.level,name:0
4127-msgid "Name"
4128-msgstr ""
4129-
4130-#. module: account_credit_control
4131-#: help:res.partner,credit_policy_id:0
4132-msgid "The Credit Control Policyused for this partner. This setting can be forced on the invoice. If nothing is defined, it will use the company setting."
4133-msgstr ""
4134-
4135-#. module: account_credit_control
4136-#: field:credit.control.line,mail_message_id:0
4137-msgid "Sent Email"
4138-msgstr ""
4139-
4140-#. module: account_credit_control
4141-#: model:ir.model,name:account_credit_control.model_credit_control_policy_level
4142-msgid "A credit control policy level"
4143-msgstr ""
4144-
4145-#. module: account_credit_control
4146-#: model:ir.actions.report.xml,name:account_credit_control.report_webkit_html
4147-msgid "Credit Summary"
4148-msgstr ""
4149-
4150-#. module: account_credit_control
4151-#: field:credit.control.line,date:0
4152-msgid "Controlling date"
4153-msgstr ""
4154-
4155-#. module: account_credit_control
4156-#: constraint:account.move.line:0
4157-msgid "You can not create journal items on closed account."
4158-msgstr ""
4159-
4160-#. module: account_credit_control
4161-#: field:credit.control.line,amount_due:0
4162-msgid "Due Amount Tax incl."
4163-msgstr ""
4164-
4165-#. module: account_credit_control
4166-#: field:res.company,credit_control_tolerance:0
4167-msgid "Credit Control Tolerance"
4168-msgstr ""
4169-
4170-#. module: account_credit_control
4171-#: help:res.company,credit_policy_id:0
4172-msgid "The Credit Control Policy used on partners by default. This setting can be overriden on partners or invoices."
4173-msgstr ""
4174-
4175-#. module: account_credit_control
4176-#: field:credit.control.line,policy_level_id:0
4177-msgid "Overdue Level"
4178-msgstr ""
4179-
4180
4181=== removed file 'account_credit_control/i18n/en.po'
4182--- account_credit_control/i18n/en.po 2012-11-07 15:41:41 +0000
4183+++ account_credit_control/i18n/en.po 1970-01-01 00:00:00 +0000
4184@@ -1,1026 +0,0 @@
4185-# Translation of OpenERP Server.
4186-# This file contains the translation of the following modules:
4187-# * account_credit_control
4188-#
4189-msgid ""
4190-msgstr ""
4191-"Project-Id-Version: OpenERP Server 6.1\n"
4192-"Report-Msgid-Bugs-To: \n"
4193-"POT-Creation-Date: 2012-11-07 15:35+0000\n"
4194-"PO-Revision-Date: 2012-11-07 14:24+0100\n"
4195-"Last-Translator: Guewen Baconnier <guewen.baconnier@camptocamp.com>\n"
4196-"Language-Team: EN\n"
4197-"Language: \n"
4198-"MIME-Version: 1.0\n"
4199-"Content-Type: text/plain; charset=UTF-8\n"
4200-"Content-Transfer-Encoding: 8bit\n"
4201-"Plural-Forms: \n"
4202-
4203-#. module: account_credit_control
4204-#: model:credit.control.policy.level,custom_text:account_credit_control.2_time_1
4205-#: model:credit.control.policy.level,custom_text:account_credit_control.3_time_1
4206-msgid ""
4207-"Dear Sir or Madam,\n"
4208-"\n"
4209-"Our records indicate that we have not received the payment of the\n"
4210-"above mentioned invoice (copy attached for your convenience). If it\n"
4211-"has already been sent, please disregard this notice. If not, please\n"
4212-"proceed with payment within 10 days.\n"
4213-"\n"
4214-"Thank you in advance for your anticipated cooperation in this matter.\n"
4215-"\n"
4216-"Best regards,\n"
4217-msgstr ""
4218-"Dear Sir or Madam,\n"
4219-"\n"
4220-"Our records indicate that we have not received the payment of the\n"
4221-"above mentioned invoice (copy attached for your convenience). If it\n"
4222-"has already been sent, please disregard this notice. If not, please\n"
4223-"proceed with payment within 10 days.\n"
4224-"\n"
4225-"Thank you in advance for your anticipated cooperation in this matter.\n"
4226-"\n"
4227-"Best regards,\n"
4228-
4229-#. module: account_credit_control
4230-#: field:credit.control.policy.level,custom_text:0
4231-msgid "Custom Message"
4232-msgstr "Custom Message"
4233-
4234-#. module: account_credit_control
4235-#: view:credit.control.lines:0
4236-msgid "More..."
4237-msgstr "More..."
4238-
4239-#. module: account_credit_control
4240-#: view:credit.control.lines:0
4241-msgid "Group By..."
4242-msgstr "Group By..."
4243-
4244-#. module: account_credit_control
4245-#: model:ir.actions.act_window,name:account_credit_control.credit_control_run
4246-#: model:ir.ui.menu,name:account_credit_control.credit_control_run_menu
4247-msgid "Credit Control Run"
4248-msgstr "Credit Control Run"
4249-
4250-#. module: account_credit_control
4251-#: field:credit.control.policy.level,computation_mode:0
4252-msgid "Compute Mode"
4253-msgstr "Compute Mode"
4254-
4255-#. module: account_credit_control
4256-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_emailer_wizard
4257-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_emailer_wizard_menu_action
4258-msgid "Send By Email"
4259-msgstr "Send By Email"
4260-
4261-#. module: account_credit_control
4262-#: model:ir.model,name:account_credit_control.model_credit_control_line
4263-msgid "A credit control line"
4264-msgstr "A credit control line"
4265-
4266-#. module: account_credit_control
4267-#: field:credit.control.line,move_line_id:0
4268-msgid "Move line"
4269-msgstr "Move line"
4270-
4271-#. module: account_credit_control
4272-#: model:res.groups,name:account_credit_control.group_account_credit_control_info
4273-msgid "Credit Control Info"
4274-msgstr "Credit Control Info"
4275-
4276-#. module: account_credit_control
4277-#: model:ir.model,name:account_credit_control.model_credit_control_emailer
4278-msgid "Mass credit line emailer"
4279-msgstr "Mass credit line emailer"
4280-
4281-#. module: account_credit_control
4282-#: field:credit.control.line,account_id:0 view:credit.control.lines:0
4283-#: model:ir.model,name:account_credit_control.model_account_account
4284-msgid "Account"
4285-msgstr "Account"
4286-
4287-#. module: account_credit_control
4288-#: selection:credit.control.policy.level,computation_mode:0
4289-msgid "Due Date"
4290-msgstr "Due Date"
4291-
4292-#. module: account_credit_control
4293-#: field:credit.control.communication,current_policy_level:0
4294-#: field:credit.control.line,level:0 view:credit.control.lines:0
4295-#: field:credit.control.policy.level,level:0
4296-msgid "Level"
4297-msgstr "Level"
4298-
4299-#. module: account_credit_control
4300-#: field:credit.control.policy.level,delay_days:0
4301-msgid "Delay (in days)"
4302-msgstr "Delay (in days)"
4303-
4304-#. module: account_credit_control
4305-#: model:ir.model,name:account_credit_control.model_credit_control_communication
4306-msgid "credit control communication"
4307-msgstr "credit control communication"
4308-
4309-#. module: account_credit_control
4310-#: sql_constraint:account.move.line:0
4311-msgid "Wrong credit or debit value in accounting entry !"
4312-msgstr "Wrong credit or debit value in accounting entry!"
4313-
4314-#. module: account_credit_control
4315-#: view:credit.control.lines:0
4316-msgid "These lines are ready to send by email or by letter using the Actions."
4317-msgstr "These lines are ready to send by email or by letter using the Actions."
4318-
4319-#. module: account_credit_control
4320-#: model:ir.model,name:account_credit_control.model_credit_control_marker
4321-msgid "Mass marker"
4322-msgstr "Mass marker"
4323-
4324-#. module: account_credit_control
4325-#: selection:credit.control.line,state:0 view:credit.control.lines:0
4326-#: selection:credit.control.marker,name:0
4327-msgid "Ignored"
4328-msgstr "Ignored"
4329-
4330-#. module: account_credit_control
4331-#: view:credit.control.emailer:0
4332-msgid "Send emails for the selected lines"
4333-msgstr "Send emails for the selected lines"
4334-
4335-#. module: account_credit_control
4336-#: constraint:account.account:0
4337-msgid "Error ! You can not create recursive accounts."
4338-msgstr "Error! You can not create recursive accounts."
4339-
4340-#. module: account_credit_control
4341-#: field:account.invoice,credit_policy_id:0
4342-#: field:res.company,credit_policy_id:0 field:res.partner,credit_policy_id:0
4343-msgid "Credit Control Policy"
4344-msgstr "Credit Control Policy"
4345-
4346-#. module: account_credit_control
4347-#: constraint:account.move.line:0
4348-msgid ""
4349-"The date of your Journal Entry is not in the defined period! You should "
4350-"change the date or remove this constraint from the journal."
4351-msgstr ""
4352-"The date of your Journal Entry is not in the defined period! You should "
4353-"change the date or remove this constraint from the journal."
4354-
4355-#. module: account_credit_control
4356-#: field:credit.control.line,date_sent:0
4357-msgid "Sent date"
4358-msgstr "Sent date"
4359-
4360-#. module: account_credit_control
4361-#: view:credit.control.policy:0 field:credit.control.policy,account_ids:0
4362-msgid "Accounts"
4363-msgstr "Accounts"
4364-
4365-#. module: account_credit_control
4366-#: field:credit.control.communication,partner_id:0
4367-#: field:credit.control.line,partner_id:0 view:credit.control.lines:0
4368-#: model:ir.model,name:account_credit_control.model_res_partner
4369-msgid "Partner"
4370-msgstr "Partner"
4371-
4372-#. module: account_credit_control
4373-#: view:credit.control.emailer:0
4374-msgid "Send the emails"
4375-msgstr "Send the emails"
4376-
4377-#. module: account_credit_control
4378-#: view:credit.control.marker:0
4379-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_marker_wizard
4380-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_marker_wizard_menu_action
4381-msgid "Change Lines' State"
4382-msgstr "Change Lines' State"
4383-
4384-#. module: account_credit_control
4385-#: model:credit.control.policy.level,custom_text:account_credit_control.3_time_2
4386-msgid ""
4387-"Dear Sir or Madam,\n"
4388-"\n"
4389-"Our records indicate that we have not yet received the payment of the\n"
4390-"above mentioned invoice (copy attached for your convenience) despite\n"
4391-"our first reminder. If it has already been sent, please disregard\n"
4392-"this notice. If not, please proceed with payment within 5 days.\n"
4393-"\n"
4394-"Thank you in advance for your anticipated cooperation in this matter.\n"
4395-"\n"
4396-"Best regards,\n"
4397-msgstr ""
4398-"Dear Sir or Madam,\n"
4399-"\n"
4400-"Our records indicate that we have not yet received the payment of the\n"
4401-"above mentioned invoice (copy attached for your convenience) despite\n"
4402-"our first reminder. If it has already been sent, please disregard\n"
4403-"this notice. If not, please proceed with payment within 5 days.\n"
4404-"\n"
4405-"Thank you in advance for your anticipated cooperation in this matter.\n"
4406-"\n"
4407-"Best regards,\n"
4408-
4409-#. module: account_credit_control
4410-#: field:credit.control.policy.level,policy_id:0
4411-msgid "Related Policy"
4412-msgstr "Related Policy"
4413-
4414-#. module: account_credit_control
4415-#: sql_constraint:account.account:0
4416-msgid "The code of the account must be unique per company !"
4417-msgstr "The code of the account must be unique per company!"
4418-
4419-#. module: account_credit_control
4420-#: constraint:res.company:0
4421-msgid "Error! You can not create recursive companies."
4422-msgstr "Error! You can not create recursive companies."
4423-
4424-#. module: account_credit_control
4425-#: view:credit.control.policy:0 view:credit.control.policy.level:0
4426-msgid "Mail and reporting"
4427-msgstr "Mail and reporting"
4428-
4429-#. module: account_credit_control
4430-#: view:credit.control.printer:0
4431-msgid "Print"
4432-msgstr "Print"
4433-
4434-#. module: account_credit_control
4435-#: selection:credit.control.line,channel:0
4436-#: selection:credit.control.policy.level,channel:0
4437-msgid "Email"
4438-msgstr "Email"
4439-
4440-#. module: account_credit_control
4441-#: field:credit.control.line,channel:0 view:credit.control.lines:0
4442-#: field:credit.control.policy.level,channel:0
4443-msgid "Channel"
4444-msgstr "Channel"
4445-
4446-#. module: account_credit_control
4447-#: help:credit.control.run,manual_ids:0
4448-msgid ""
4449-"If a credit control line has been generated on a policy and the policy has "
4450-"been changed meantime, it has to be handled manually"
4451-msgstr ""
4452-"If a credit control line has been generated on a policy and the policy has "
4453-"been changed meantime, it has to be handled manually"
4454-
4455-#. module: account_credit_control
4456-#: field:credit.control.printer,state:0
4457-msgid "state"
4458-msgstr "state"
4459-
4460-#. module: account_credit_control
4461-#: field:credit.control.run,report:0
4462-msgid "Report"
4463-msgstr "Report"
4464-
4465-#. module: account_credit_control
4466-#: help:credit.control.line,state:0
4467-msgid ""
4468-"Draft lines need to be triaged.\n"
4469-"Ignored lines are lines for which we do not want to send something.\n"
4470-"Draft and ignored lines will be generated again on the next run."
4471-msgstr ""
4472-"Draft lines need to be triaged.\n"
4473-"Ignored lines are lines for which we do not want to send something.\n"
4474-"Draft and ignored lines will be generated again on the next run."
4475-
4476-#. module: account_credit_control
4477-#: selection:credit.control.policy.level,computation_mode:0
4478-msgid "Due Date, End Of Month"
4479-msgstr "Due Date, End Of Month"
4480-
4481-#. module: account_credit_control
4482-#: field:credit.control.marker,name:0
4483-msgid "Mark as"
4484-msgstr "Mark as"
4485-
4486-#. module: account_credit_control
4487-#: model:credit.control.policy.level,custom_text:account_credit_control.2_time_2
4488-msgid ""
4489-"Dear Sir or Madam,\n"
4490-"\n"
4491-"Our records indicate that we still have not received the payment of\n"
4492-"the above mentioned invoice (copy attached) despite our reminder.\n"
4493-"If payment have already been sent, please disregard this notice. If\n"
4494-"not, please proceed with payment. If your payment has not been\n"
4495-"received in the next 5 days, your file will be transfered to our debt\n"
4496-"collection agency.\n"
4497-"\n"
4498-"Should you need us to arrange a payment plan for you, please advise.\n"
4499-"A customer account statement is enclosed for you convenience.\n"
4500-"\n"
4501-"Thank you in advance for your anticipated cooperation in this matter.\n"
4502-"\n"
4503-"Best regards,\n"
4504-msgstr ""
4505-"Dear Sir or Madam,\n"
4506-"\n"
4507-"Our records indicate that we still have not received the payment of\n"
4508-"the above mentioned invoice (copy attached) despite our reminder.\n"
4509-"If payment have already been sent, please disregard this notice. If\n"
4510-"not, please proceed with payment. If your payment has not been\n"
4511-"received in the next 5 days, your file will be transfered to our debt\n"
4512-"collection agency.\n"
4513-"\n"
4514-"Should you need us to arrange a payment plan for you, please advise.\n"
4515-"A customer account statement is enclosed for you convenience.\n"
4516-"\n"
4517-"Thank you in advance for your anticipated cooperation in this matter.\n"
4518-"\n"
4519-"Best regards,\n"
4520-
4521-#. module: account_credit_control
4522-#: view:credit.control.lines:0
4523-msgid "An error has occured during the sending of the email."
4524-msgstr "An error has occured during the sending of the email."
4525-
4526-#. module: account_credit_control
4527-#: view:credit.control.run:0 field:credit.control.run,policy_ids:0
4528-msgid "Policies"
4529-msgstr "Policies"
4530-
4531-#. module: account_credit_control
4532-#: field:credit.control.line,date_due:0
4533-msgid "Due date"
4534-msgstr "Due date"
4535-
4536-#. module: account_credit_control
4537-#: field:credit.control.policy,do_nothing:0
4538-msgid "Do nothing"
4539-msgstr "Do nothing"
4540-
4541-#. module: account_credit_control
4542-#: field:credit.control.line,currency_id:0
4543-msgid "Currency"
4544-msgstr "Currency"
4545-
4546-#. module: account_credit_control
4547-#: constraint:account.account:0
4548-msgid ""
4549-"Configuration Error! \n"
4550-"You can not define children to an account with internal type different of "
4551-"\"View\"! "
4552-msgstr ""
4553-"Configuration Error! \n"
4554-"You can not define children to an account with internal type different of "
4555-"\"View\"! "
4556-
4557-#. module: account_credit_control
4558-#: model:ir.model,name:account_credit_control.model_credit_control_printer
4559-msgid "Mass printer"
4560-msgstr "Mass printer"
4561-
4562-#. module: account_credit_control
4563-#: field:credit.control.communication,company_id:0
4564-#: field:credit.control.line,company_id:0
4565-#: field:credit.control.policy,company_id:0
4566-msgid "Company"
4567-msgstr "Company"
4568-
4569-#. module: account_credit_control
4570-#: view:credit.control.marker:0
4571-#: model:ir.actions.act_window,help:account_credit_control.open_credit_line_marker_wizard
4572-msgid "Change the state of the selected lines."
4573-msgstr "Change the state of the selected lines."
4574-
4575-#. module: account_credit_control
4576-#: view:credit.control.lines:0
4577-msgid "Lines which have been ignored from previous runs."
4578-msgstr "Lines which have been ignored from previous runs."
4579-
4580-#. module: account_credit_control
4581-#: view:credit.control.printer:0
4582-msgid "Print the selected lines"
4583-msgstr "Print the selected lines"
4584-
4585-#. module: account_credit_control
4586-#: selection:credit.control.line,state:0 view:credit.control.lines:0
4587-#: selection:credit.control.run,state:0
4588-msgid "Draft"
4589-msgstr "Draft"
4590-
4591-#. module: account_credit_control
4592-#: view:credit.control.marker:0
4593-msgid "Warning: you will maybe not be able to revert this operation."
4594-msgstr "Warning: you will maybe not be able to revert this operation."
4595-
4596-#. module: account_credit_control
4597-#: view:credit.control.lines:0
4598-msgid "Credit policy"
4599-msgstr "Credit policy"
4600-
4601-#. module: account_credit_control
4602-#: view:credit.control.policy:0 view:credit.control.policy.level:0
4603-msgid "Delay Setting"
4604-msgstr "Delay Setting"
4605-
4606-#. module: account_credit_control
4607-#: field:credit.control.line,balance_due:0
4608-msgid "Due balance"
4609-msgstr "Due balance"
4610-
4611-#. module: account_credit_control
4612-#: view:credit.control.lines:0
4613-msgid "Credit policy level"
4614-msgstr "Credit policy level"
4615-
4616-#. module: account_credit_control
4617-#: model:ir.model,name:account_credit_control.model_credit_control_run
4618-msgid "Credit control line generator"
4619-msgstr "Credit control line generator"
4620-
4621-#. module: account_credit_control
4622-#: field:credit.control.communication,user_id:0
4623-msgid "User"
4624-msgstr "User"
4625-
4626-#. module: account_credit_control
4627-#: selection:credit.control.line,channel:0
4628-#: selection:credit.control.policy.level,channel:0
4629-msgid "Letter"
4630-msgstr "Letter"
4631-
4632-#. module: account_credit_control
4633-#: model:ir.model,name:account_credit_control.model_account_move_line
4634-msgid "Journal Items"
4635-msgstr "Journal Items"
4636-
4637-#. module: account_credit_control
4638-#: model:ir.actions.act_window,help:account_credit_control.open_credit_line_printer_wizard
4639-msgid "Print selected lines"
4640-msgstr "Print selected lines"
4641-
4642-#. module: account_credit_control
4643-#: constraint:account.move.line:0
4644-msgid "You can not create journal items on an account of type view."
4645-msgstr "You can not create journal items on an account of type view."
4646-
4647-#. module: account_credit_control
4648-#: field:credit.control.emailer,line_ids:0
4649-#: field:credit.control.marker,line_ids:0
4650-#: field:credit.control.printer,line_ids:0
4651-#: model:ir.actions.act_window,name:account_credit_control.credit_control_line_action
4652-#: model:ir.ui.menu,name:account_credit_control.credit_control_line_action_menu
4653-#: field:res.partner,credit_control_line_ids:0
4654-msgid "Credit Control Lines"
4655-msgstr "Credit Control Lines"
4656-
4657-#. module: account_credit_control
4658-#: model:credit.control.policy.level,custom_text:account_credit_control.3_time_3
4659-msgid ""
4660-"Dear Sir or Madam,\n"
4661-"\n"
4662-"Our records indicate that we still have not received the payment of\n"
4663-"the above mentioned invoice (copy attached) despite our two reminders.\n"
4664-"If payment have already been sent, please disregard this notice. If\n"
4665-"not, please proceed with payment. If your payment has not been\n"
4666-"received in the next 5 days, your file will be transfered to our debt\n"
4667-"collection agency.\n"
4668-"\n"
4669-"Should you need us to arrange a payment plan for you, please advise.\n"
4670-"A customer account statement is enclosed for you convenience.\n"
4671-"\n"
4672-"Thank you in advance for your anticipated cooperation in this matter.\n"
4673-"\n"
4674-"Best regards,\n"
4675-msgstr ""
4676-"Dear Sir or Madam,\n"
4677-"\n"
4678-"Our records indicate that we still have not received the payment of\n"
4679-"the above mentioned invoice (copy attached) despite our two reminders.\n"
4680-"If payment have already been sent, please disregard this notice. If\n"
4681-"not, please proceed with payment. If your payment has not been\n"
4682-"received in the next 5 days, your file will be transfered to our debt\n"
4683-"collection agency.\n"
4684-"\n"
4685-"Should you need us to arrange a payment plan for you, please advise.\n"
4686-"A customer account statement is enclosed for you convenience.\n"
4687-"\n"
4688-"Thank you in advance for your anticipated cooperation in this matter.\n"
4689-"\n"
4690-"Best regards,\n"
4691-
4692-#. module: account_credit_control
4693-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_printer_wizard
4694-#: model:ir.actions.act_window,name:account_credit_control.open_credit_line_printer_wizard_menu_action
4695-msgid "Print Lines"
4696-msgstr "Print Lines"
4697-
4698-#. module: account_credit_control
4699-#: field:credit.control.run,date:0
4700-msgid "Controlling Date"
4701-msgstr "Controlling Date"
4702-
4703-#. module: account_credit_control
4704-#: model:ir.model,name:account_credit_control.model_credit_control_policy
4705-msgid "Define a reminder policy"
4706-msgstr "Define a reminder policy"
4707-
4708-#. module: account_credit_control
4709-#: view:credit.control.lines:0
4710-msgid "Lines already sent."
4711-msgstr "Lines already sent."
4712-
4713-#. module: account_credit_control
4714-#: field:credit.control.policy.level,email_template_id:0
4715-msgid "Email Template"
4716-msgstr "Email Template"
4717-
4718-#. module: account_credit_control
4719-#: selection:credit.control.line,state:0 view:credit.control.lines:0
4720-#: selection:credit.control.marker,name:0
4721-msgid "Ready To Send"
4722-msgstr "Ready To Send"
4723-
4724-#. module: account_credit_control
4725-#: model:ir.model,name:account_credit_control.model_res_company
4726-msgid "Companies"
4727-msgstr "Companies"
4728-
4729-#. module: account_credit_control
4730-#: field:credit.control.printer,mark_as_sent:0
4731-msgid "Mark letter lines as sent"
4732-msgstr "Mark letter lines as sent"
4733-
4734-#. module: account_credit_control
4735-#: view:credit.control.run:0
4736-msgid "Compute Credit Control Lines"
4737-msgstr "Compute Credit Control Lines"
4738-
4739-#. module: account_credit_control
4740-#: selection:credit.control.policy.level,computation_mode:0
4741-msgid "Previous Reminder"
4742-msgstr "Previous Reminder"
4743-
4744-#. module: account_credit_control
4745-#: selection:credit.control.line,state:0 view:credit.control.lines:0
4746-msgid "Error"
4747-msgstr "Error"
4748-
4749-#. module: account_credit_control
4750-#: sql_constraint:account.invoice:0
4751-msgid "Invoice Number must be unique per Company!"
4752-msgstr "Invoice Number must be unique per Company!"
4753-
4754-#. module: account_credit_control
4755-#: view:credit.control.run:0
4756-msgid "Report and Errors"
4757-msgstr "Report and Errors"
4758-
4759-#. module: account_credit_control
4760-#: constraint:account.account:0
4761-msgid ""
4762-"Configuration Error! \n"
4763-"You can not select an account type with a deferral method different of "
4764-"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
4765-msgstr ""
4766-"Configuration Error! \n"
4767-"You can not select an account type with a deferral method different of "
4768-"\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"! "
4769-
4770-#. module: account_credit_control
4771-#: field:credit.control.line,state:0 field:credit.control.run,state:0
4772-msgid "State"
4773-msgstr "State"
4774-
4775-#. module: account_credit_control
4776-#: help:credit.control.policy,do_nothing:0
4777-msgid "For policies which should not generate lines or are obsolete"
4778-msgstr "For policies which should not generate lines or are obsolete"
4779-
4780-#. module: account_credit_control
4781-#: field:account.account,credit_control_line_ids:0
4782-#: field:account.invoice,credit_control_line_ids:0
4783-#: field:credit.control.communication,credit_control_line_ids:0
4784-#: model:ir.actions.act_window,name:account_credit_control.act_account_credit_relation_relation
4785-#: model:ir.actions.act_window,name:account_credit_control.act_partner_credit_relation_relation
4786-msgid "Credit Lines"
4787-msgstr "Credit Lines"
4788-
4789-#. module: account_credit_control
4790-#: selection:credit.control.line,state:0
4791-#: selection:credit.control.marker,name:0 selection:credit.control.run,state:0
4792-msgid "Done"
4793-msgstr "Done"
4794-
4795-#. module: account_credit_control
4796-#: field:account.move.line,invoice_id:0 field:credit.control.line,invoice_id:0
4797-#: view:credit.control.lines:0
4798-#: model:ir.model,name:account_credit_control.model_account_invoice
4799-msgid "Invoice"
4800-msgstr "Invoice"
4801-
4802-#. module: account_credit_control
4803-#: view:credit.control.emailer:0 view:credit.control.marker:0
4804-#: view:credit.control.printer:0
4805-msgid "Cancel"
4806-msgstr "Cancel"
4807-
4808-#. module: account_credit_control
4809-#: view:credit.control.printer:0
4810-msgid "Close"
4811-msgstr "Close"
4812-
4813-#. module: account_credit_control
4814-#: selection:credit.control.line,state:0
4815-msgid "Emailing Error"
4816-msgstr "Emailing Error"
4817-
4818-#. module: account_credit_control
4819-#: help:account.invoice,credit_policy_id:0
4820-msgid ""
4821-"The Credit Control Policy used for this invoice. If nothing is defined, it "
4822-"will use the account setting or the partner setting."
4823-msgstr ""
4824-"The Credit Control Policy used for this invoice. If nothing is defined, it "
4825-"will use the account setting or the partner setting."
4826-
4827-#. module: account_credit_control
4828-#: view:credit.control.lines:0
4829-msgid "Run date"
4830-msgstr "Run date"
4831-
4832-#. module: account_credit_control
4833-#: model:res.groups,name:account_credit_control.group_account_credit_control_user
4834-msgid "Credit Control User"
4835-msgstr "Credit Control User"
4836-
4837-#. module: account_credit_control
4838-#: model:email.template,body_html:account_credit_control.email_template_credit_control_base
4839-msgid ""
4840-"\n"
4841-" <%page args=\"object, user=None, ctx=None, quote=None, "
4842-"format_exception=True, mode='mail'\" />\n"
4843-" %if mode != 'pdf':\n"
4844-" <!-- your css here -->\n"
4845-" <style type=\"text/css\">\n"
4846-" </style>\n"
4847-" %endif\n"
4848-" <div>\n"
4849-"\n"
4850-" <p>Dear ${object.partner_id.name or ''},</p>\n"
4851-"\n"
4852-" <pre class=\"custom_text\">${object.current_policy_level.custom_text}</"
4853-"pre>\n"
4854-"\n"
4855-" <table style=\"border: 1px solid\" width=\"100%\">\n"
4856-" <caption><b>Summary</b></caption>\n"
4857-" <tr>\n"
4858-" <th>date due</th>\n"
4859-" <th>Amount due</th>\n"
4860-" <th>Amount balance</th>\n"
4861-" <th>Invoice number</th>\n"
4862-" </tr>\n"
4863-"%for line in object.credit_control_line_ids:\n"
4864-" <tr>\n"
4865-" <td>${line.date_due}</td>\n"
4866-" <td>${line.amount_due}</td>\n"
4867-" <td>${line.balance_due}</td>\n"
4868-" %if line.invoice_id:\n"
4869-" <td>${line.invoice_id.number}</td>\n"
4870-" %else:\n"
4871-" <td>n/a</td>\n"
4872-" %endif\n"
4873-"%endfor\n"
4874-" </table>\n"
4875-" <br/>\n"
4876-" <br/>\n"
4877-"\n"
4878-" <p>If you have any question, do not hesitate to contact us.</p>\n"
4879-"\n"
4880-" <p>Thank you for choosing ${object.company_id.name}! </p>\n"
4881-"\n"
4882-" -- more info here --\n"
4883-" <p>${object.user_id.name} ${object.user_id.user_email and '<"
4884-"%s>'%(object.user_id.user_email) or ''}<br/>\n"
4885-" ${object.company_id.name}<br/>\n"
4886-" % if object.company_id.street:\n"
4887-" ${object.company_id.street or ''}<br/>\n"
4888-"\n"
4889-" % endif\n"
4890-"\n"
4891-" % if object.company_id.street2:\n"
4892-" ${object.company_id.street2}<br/>\n"
4893-" % endif\n"
4894-" % if object.company_id.city or object.company_id.zip:\n"
4895-" ${object.company_id.zip or ''} ${object.company_id.city or ''}<br/>\n"
4896-" % endif\n"
4897-" % if object.company_id.country_id:\n"
4898-" ${object.company_id.state_id and ('%s, ' % object.company_id.state_id."
4899-"name) or ''} ${object.company_id.country_id.name or ''}<br/>\n"
4900-" % endif\n"
4901-" % if object.company_id.phone:\n"
4902-" Phone: ${object.company_id.phone}<br/>\n"
4903-" % endif\n"
4904-" % if object.company_id.website:\n"
4905-" ${object.company_id.website or ''}<br/>\n"
4906-" % endif\n"
4907-" "
4908-msgstr ""
4909-"\n"
4910-" <%page args=\"object, user=None, ctx=None, quote=None, "
4911-"format_exception=True, mode='mail'\" />\n"
4912-" %if mode != 'pdf':\n"
4913-" <!-- your css here -->\n"
4914-" <style type=\"text/css\">\n"
4915-" </style>\n"
4916-" %endif\n"
4917-" <div>\n"
4918-"\n"
4919-" <p>Dear ${object.partner_id.name or ''},</p>\n"
4920-"\n"
4921-" <pre class=\"custom_text\">${object.current_policy_level.custom_text}</"
4922-"pre>\n"
4923-"\n"
4924-" <table style=\"border: 1px solid\" width=\"100%\">\n"
4925-" <caption><b>Summary</b></caption>\n"
4926-" <tr>\n"
4927-" <th>date due</th>\n"
4928-" <th>Amount due</th>\n"
4929-" <th>Amount balance</th>\n"
4930-" <th>Invoice number</th>\n"
4931-" </tr>\n"
4932-"%for line in object.credit_control_line_ids:\n"
4933-" <tr>\n"
4934-" <td>${line.date_due}</td>\n"
4935-" <td>${line.amount_due}</td>\n"
4936-" <td>${line.balance_due}</td>\n"
4937-" %if line.invoice_id:\n"
4938-" <td>${line.invoice_id.number}</td>\n"
4939-" %else:\n"
4940-" <td>n/a</td>\n"
4941-" %endif\n"
4942-"%endfor\n"
4943-" </table>\n"
4944-" <br/>\n"
4945-" <br/>\n"
4946-"\n"
4947-" <p>If you have any question, do not hesitate to contact us.</p>\n"
4948-"\n"
4949-" <p>Thank you for choosing ${object.company_id.name}! </p>\n"
4950-"\n"
4951-" -- more info here --\n"
4952-" <p>${object.user_id.name} ${object.user_id.user_email and '<"
4953-"%s>'%(object.user_id.user_email) or ''}<br/>\n"
4954-" ${object.company_id.name}<br/>\n"
4955-" % if object.company_id.street:\n"
4956-" ${object.company_id.street or ''}<br/>\n"
4957-"\n"
4958-" % endif\n"
4959-"\n"
4960-" % if object.company_id.street2:\n"
4961-" ${object.company_id.street2}<br/>\n"
4962-" % endif\n"
4963-" % if object.company_id.city or object.company_id.zip:\n"
4964-" ${object.company_id.zip or ''} ${object.company_id.city or ''}<br/>\n"
4965-" % endif\n"
4966-" % if object.company_id.country_id:\n"
4967-" ${object.company_id.state_id and ('%s, ' % object.company_id.state_id."
4968-"name) or ''} ${object.company_id.country_id.name or ''}<br/>\n"
4969-" % endif\n"
4970-" % if object.company_id.phone:\n"
4971-" Phone: ${object.company_id.phone}<br/>\n"
4972-" % endif\n"
4973-" % if object.company_id.website:\n"
4974-" ${object.company_id.website or ''}<br/>\n"
4975-" % endif\n"
4976-" "
4977-
4978-#. module: account_credit_control
4979-#: constraint:account.move.line:0
4980-msgid "Company must be the same for its related account and period."
4981-msgstr "Company must be the same for its related account and period."
4982-
4983-#. module: account_credit_control
4984-#: field:credit.control.run,manual_ids:0
4985-msgid "Lines to handle manually"
4986-msgstr "Lines to handle manually"
4987-
4988-#. module: account_credit_control
4989-#: view:account.invoice:0
4990-#: model:ir.ui.menu,name:account_credit_control.base_credit_control_configuration_menu
4991-#: model:ir.ui.menu,name:account_credit_control.base_credit_control_menu
4992-msgid "Credit Control"
4993-msgstr "Credit Control"
4994-
4995-#. module: account_credit_control
4996-#: view:credit.control.policy:0 field:credit.control.policy,level_ids:0
4997-msgid "Policy Levels"
4998-msgstr "Policy Levels"
4999-
5000-#. module: account_credit_control
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: