2
I create an analytic Correction Journal
4
!record {model: account.analytic.journal, id: analytic_journal_correction}:
5
name: Analytic Correction Journal
9
I create an Expense Account Type.
11
!record {model: account.account.type, id: account_account_type_expense0}:
12
close_method: unreconciled
17
I create a 6101 Expense Account.
19
!record {model: account.account, id: account_account_expense0}:
20
code: '6101-expense-test'
21
company_id: base.main_company
22
currency_mode: current
25
user_type: account_account_type_expense0
26
activation_date: !eval datetime.today().strftime('%Y-01-01')
27
default_destination_id: analytic_distribution.analytic_account_destination_operation
28
destination_ids: [analytic_distribution.analytic_account_destination_operation, analytic_distribution.analytic_account_destination_support]
30
I create a 6102 Expense Account.
32
!record {model: account.account, id: account_6102}:
33
code: '6102-expense-test'
34
company_id: base.main_company
35
currency_mode: current
38
user_type: account_account_type_expense0
39
activation_date: !eval datetime.today().strftime('%Y-01-01')
40
default_destination_id: analytic_distribution.analytic_account_destination_operation
41
destination_ids: [analytic_distribution.analytic_account_destination_operation, analytic_distribution.analytic_account_destination_support]
43
I create a link between 6101 expense account and Operation destination
45
!record {model: account.destination.link, id: tuple_operation_6101}:
46
account_id: account_account_expense0
47
destination_id: analytic_distribution.analytic_account_destination_operation
49
I create a link between 6101 expense account and Support destination
51
!record {model: account.destination.link, id: tuple_support_6101}:
52
account_id: account_account_expense0
53
destination_id: analytic_distribution.analytic_account_destination_support
55
I create a link between 6102 expense account and Operation destination
57
!record {model: account.destination.link, id: tuple_operation_6102}:
58
account_id: account_account_expense0
59
destination_id: analytic_distribution.analytic_account_destination_operation
61
I create a link between 6102 expense account and Support destination
63
!record {model: account.destination.link, id: tuple_support_6102}:
64
account_id: account_account_expense0
65
destination_id: analytic_distribution.analytic_account_destination_support
67
2
I create an analytic account attached to OC (Operation Center) named Gabon
69
4
!record {model: account.analytic.account, id: analytic_account_gabon}:
75
10
parent_id: analytic_distribution.analytic_account_project
76
11
date: !eval "'%s-01-01' %(datetime.now().year + 2)"
78
I create a CC analytic account attached to OC (Operation Center)
13
I create an analytic account attached to OC (Operation Center) named Kenya
80
!record {model: account.analytic.account, id: analytic_cc}:
15
!record {model: account.analytic.account, id: analytic_account_kenya}:
86
21
parent_id: analytic_distribution.analytic_account_project
87
22
date: !eval "'%s-01-01' %(datetime.now().year + 2)"
89
I create an FP analytic account named Gabon Hospital attached to Gabon CC
91
!record {model: account.analytic.account, id: analytic_account_fp_gabon_hospital}:
92
name: "Gabon Hospital"
97
parent_id: analytic_distribution.analytic_account_funding_pool
98
date: !eval "'%s-01-01' %(datetime.now().year + 2)"
99
cost_center_ids: [analytic_account_gabon]
100
tuple_destination_account_ids: [tuple_operation_6101, tuple_operation_6102]
102
I create an FP analytic account named Kenya AIDS attached to Kenya CC
104
!record {model: account.analytic.account, id: analytic_account_fp_kenya_aids}:
110
parent_id: analytic_distribution.analytic_account_funding_pool
111
date: !eval "'%s-01-01' %(datetime.now().year + 2)"
112
cost_center_ids: [analytic_cc]
113
tuple_destination_account_ids: [tuple_support_6101, tuple_support_6102]
115
24
I create a global analytical distribution
117
26
!record {model: analytic.distribution, id: global_distrib_1}:
161
analytic_id: analytic_account_fp_kenya_aids
162
cost_center_id: analytic_cc
163
destination_id: analytic_distribution.analytic_account_destination_support
66
analytic_id: analytic_account_kenya
164
67
distribution_id: global_distrib_1
166
I create a fiscalyear
168
!record {model: account.fiscalyear, id: fiscalyear0}:
169
code: !eval "'FY%s'% (datetime.now().year+10)"
170
company_id: base.main_company
171
date_start: !eval "'%s-01-01' %(datetime.now().year+10)"
172
date_stop: !eval "'%s-12-31' %(datetime.now().year+10)"
173
name: !eval "'Fiscal Year %s' %(datetime.now().year+10)"
175
I create the period 1
177
!record {model: account.period, id: period1}:
178
company_id: base.main_company
179
date_start: !eval time.strftime('%Y-%m-01')
180
date_stop: !eval (DateTime.now()+DateTime.RelativeDateTime(day=-1,years=10)).strftime('%Y-%m-%d')
181
fiscalyear_id: fiscalyear0
185
I create a Receivable Account Type.
187
!record {model: account.account.type, id: account_account_type_receivable0}:
188
close_method: balance
193
I create an Analytic Expenses Journal.
195
!record {model: account.analytic.journal, id: account_analytic_journal_expenses_0}:
197
company_id: base.main_company
198
name: Analytic Expenses Journal (test)
201
I create an Expenses Journal.
203
!record {model: account.journal, id: account_journal_expenses_0}:
205
company_id: base.main_company
206
name: Expenses Journal (test)
209
analytic_journal_id: account_analytic_journal_expenses_0
211
I create Supplier 401 Payable Account.
213
!record {model: account.account, id: account_account_payable_supplier0}:
214
code: '401-supplier-test'
215
company_id: base.main_company
216
currency_mode: current
217
name: Supplier Payable Account
219
user_type: account_account_type_receivable0
221
type_for_register: none
222
activation_date: !eval time.strftime('%Y-01-01')
224
I create CC1 analytic account without any ending date (begin from 3 of this month)
226
!record {model: account.analytic.account, id: cc1}:
227
name: "Cost Center 1"
231
date_start: !eval "'%s-%s-03' % (datetime.now().year + 10, datetime.now().month)"
233
I create CC2 analytic account with dates between 3 and 10 of the month
235
!record {model: account.analytic.account, id: cc2}:
240
date_start: !eval "'%s-%s-03' % (datetime.now().year + 10, datetime.now().month)"
241
date: !eval "'%s-%s-13' % (datetime.now().year + 10, datetime.now().month)"
243
I create CC3 analytic account without any ending date (begin from 15 of this month)
245
!record {model: account.analytic.account, id: cc3}:
250
date_start: !eval "'%s-%s-15' % (datetime.now().year + 10, datetime.now().month)"
252
I create CC4 analytic account without any ending date (begin from 3 of this month)
254
!record {model: account.analytic.account, id: cc4}:
255
name: "Cost Center 4"
259
date_start: !eval "'%s-03-03' % (datetime.now().year)"
261
I create CC5 analytic account without any ending date (begin from 15 of this month)
263
!record {model: account.analytic.account, id: cc5}:
268
date_start: !eval "'%s-03-15' % (datetime.now().year)"
270
I create FP1 analytic account
272
!record {model: account.analytic.account, id: fp1}:
277
date_start: !eval "'%s-%s-03' % (datetime.now().year + 10, datetime.now().month)"
278
date: !eval "'%s-%s-10' % (datetime.now().year + 10, datetime.now().month)"
279
cost_center_ids: [cc1, cc2, cc3, cc4, cc5]
280
tuple_destination_account_ids: [tuple_operation_6101, tuple_operation_6102]
282
I create an analytic distribution.
284
!record {model: analytic.distribution, id: distrib_2}:
285
name: Distribution for checking dates, valid dates
287
I add some lines to this distribution. First CC.
289
!record {model: cost.center.distribution.line, id: cost_center_1}:
292
destination_id: analytic_account_destination_operation
293
distribution_id: distrib_2
295
currency_id: base.EUR
297
Then I create a FP line linked to previous CC.
299
!record {model: funding.pool.distribution.line, id: funding_pool_line_1}:
301
analytic_id: analytic_account_msf_private_funds
302
destination_id: analytic_account_destination_operation
303
distribution_id: distrib_2
306
currency_id: base.EUR
308
I create another analytic distribution.
310
!record {model: analytic.distribution, id: distrib_3}:
311
name: Distribution for checking dates, INVALID dates
313
I add some lines to this distribution. First CC.
315
!record {model: cost.center.distribution.line, id: cost_center_2}:
318
destination_id: analytic_account_destination_operation
319
distribution_id: distrib_3
321
currency_id: base.EUR
323
Then I create a FP line linked to previous CC.
325
!record {model: funding.pool.distribution.line, id: funding_pool_line_2}:
327
analytic_id: analytic_account_msf_private_funds
328
destination_id: analytic_account_destination_operation
329
distribution_id: distrib_3
332
currency_id: base.EUR
334
I create distrib_4 analytic distribution.
336
!record {model: analytic.distribution, id: distrib_4}:
337
name: Distribution for checking reverse and correction
339
I add some lines to this distribution. First CC.
341
!record {model: cost.center.distribution.line, id: cost_center_4}:
344
destination_id: analytic_account_destination_operation
345
distribution_id: distrib_4
347
currency_id: base.EUR
349
Then I create a FP line linked to previous CC.
351
!record {model: funding.pool.distribution.line, id: funding_pool_line_4}:
353
analytic_id: analytic_account_msf_private_funds
354
destination_id: analytic_account_destination_operation
355
distribution_id: distrib_4
358
currency_id: base.EUR
360
I create a Partner Category named "Supplier".
362
!record {model: res.partner.category, id: res_partner_category_supplier_0}:
365
I create a Partner Category which are under "Supplier".
367
!record {model: res.partner.category, id: res_partner_category_miscellaneous_supplier_0}:
368
name: Miscellaneous Supplier
369
parent_id: res_partner_category_supplier_0
371
I create a Supplier named "Wood Supplier".
373
!record {model: res.partner, id: res_partner_supplier_wood_0}:
374
name: "Wood Supplier"
376
- res_partner_category_miscellaneous_supplier_0
381
!record {model: res.partner.address, id: res_partner_address_tempo}:
382
name: Maurice MORETTI
383
street: 9, rue du Parc
386
phone: +33 3 88 56 82 10
387
email: info@tempo-consulting.fr
388
partner_id: res_partner_supplier_wood_0
390
I create a product to be used in some invoices
392
!record {model: product.product, id: product_basic_finance_0}:
393
categ_id: product.cat0
396
name: Basic product for finance tests
398
procure_method: make_to_stock
403
uom_id: product.product_uom_unit
404
uom_po_id: product.product_uom_unit
412
name: res_partner_supplier_wood_0
413
international_status: product_attributes.int_1
415
I overwrite periods to have the right number
417
!python {model: account.period}: |
419
period_ids = self.search(cr, uid, [], order='date_start, name')
420
for p in self.browse(cr, uid, period_ids):
421
self.write(cr, uid, [p.id], {'number': int(datetime.datetime.strptime(p.date_start, '%Y-%m-%d').strftime('%m'))})