186 lines
8.8 KiB
YAML
186 lines
8.8 KiB
YAML
|
-
|
||
|
Set the context for customer invoices because the 'type' field is readonly in invoice form views, so it value won't be considered by the yaml import
|
||
|
-
|
||
|
!record {model: account.invoice, id: demo_invoice_1}:
|
||
|
partner_id: base.res_partner_12
|
||
|
user_id: base.user_demo
|
||
|
reference_type: none
|
||
|
payment_term_id: account.account_payment_term
|
||
|
type: 'out_invoice'
|
||
|
date_invoice: !eval time.strftime('%Y-%m')+'-01'
|
||
|
invoice_line_ids:
|
||
|
- product_id: product.consu_delivery_02
|
||
|
price_unit: 642.0
|
||
|
quantity: 5
|
||
|
- product_id: product.consu_delivery_03
|
||
|
price_unit: 280.0
|
||
|
quantity: 5.0
|
||
|
-
|
||
|
!python {model: account.invoice, id: demo_invoice_1}:
|
||
|
self.action_invoice_open()
|
||
|
-
|
||
|
!record {model: account.invoice, id: demo_invoice_2}:
|
||
|
partner_id: base.res_partner_2
|
||
|
type: 'out_invoice'
|
||
|
date_invoice: !eval time.strftime('%Y-%m')+'-08'
|
||
|
invoice_line_ids:
|
||
|
- product_id: product.consu_delivery_03
|
||
|
price_unit: 50.0
|
||
|
quantity: 3
|
||
|
- product_id: product.consu_delivery_01
|
||
|
price_unit: 25
|
||
|
quantity: 20
|
||
|
-
|
||
|
!python {model: account.invoice, id: demo_invoice_2}:
|
||
|
self.action_invoice_open()
|
||
|
-
|
||
|
!record {model: account.invoice, id: demo_invoice_3}:
|
||
|
partner_id: base.res_partner_2
|
||
|
type: 'out_invoice'
|
||
|
date_invoice: !eval time.strftime('%Y-%m')+'-08'
|
||
|
invoice_line_ids:
|
||
|
- product_id: product.consu_delivery_01
|
||
|
price_unit: 90.0
|
||
|
quantity: 5
|
||
|
- product_id: product.consu_delivery_03
|
||
|
price_unit: 15.0
|
||
|
quantity: 5.0
|
||
|
-
|
||
|
!python {model: account.invoice, id: demo_invoice_3}:
|
||
|
self.action_invoice_open()
|
||
|
-
|
||
|
Create an invoice that will generate a followup
|
||
|
-
|
||
|
!record {model: account.invoice, id: demo_invoice_followup}:
|
||
|
partner_id: base.res_partner_2
|
||
|
user_id: base.user_demo
|
||
|
reference_type: none
|
||
|
payment_term_id: account.account_payment_term_immediate
|
||
|
type: 'out_invoice'
|
||
|
date_invoice: !eval (datetime.today() + timedelta(days=-15)).strftime('%Y-%m-%d')
|
||
|
invoice_line_ids:
|
||
|
- product_id: product.consu_delivery_02
|
||
|
price_unit: 642.0
|
||
|
quantity: 5
|
||
|
- product_id: product.consu_delivery_03
|
||
|
price_unit: 280.0
|
||
|
quantity: 5.0
|
||
|
-
|
||
|
!python {model: account.invoice, id: demo_invoice_followup}:
|
||
|
self.action_invoice_open()
|
||
|
-
|
||
|
Set the context for supplier bills because the 'type' field is readonly in invoice form views, so it value won't be considered by the yaml import
|
||
|
-
|
||
|
!context
|
||
|
type: 'in_invoice'
|
||
|
-
|
||
|
!record {model: account.invoice, id: demo_invoice_0}:
|
||
|
partner_id: base.res_partner_12
|
||
|
user_id: base.user_demo
|
||
|
reference_type: none
|
||
|
payment_term_id: account.account_payment_term
|
||
|
type: 'in_invoice'
|
||
|
date_invoice: !eval time.strftime('%Y-%m')+'-01'
|
||
|
invoice_line_ids:
|
||
|
- price_unit: 10.0
|
||
|
quantity: 1.0
|
||
|
product_id: product.product_delivery_01
|
||
|
uom_id: product.product_uom_unit
|
||
|
- price_unit: 4.0
|
||
|
quantity: 1.0
|
||
|
product_id: product.product_order_01
|
||
|
uom_id: product.product_uom_unit
|
||
|
-
|
||
|
!record {model: account.invoice, id: demo_invoice_january_wages}:
|
||
|
partner_id: base.res_partner_12
|
||
|
type: 'in_invoice'
|
||
|
date_invoice: !eval time.strftime('%Y-%m')+'-01'
|
||
|
-
|
||
|
!python {model: ir.model.data, id: False} : |
|
||
|
line_vals = {
|
||
|
'invoice_id': ref('demo_invoice_january_wages'),
|
||
|
'name': "CEO wages",
|
||
|
'price_unit': 10000,
|
||
|
}
|
||
|
default_company = self.env['res.company']._company_default_get('account.account')
|
||
|
account = self.env['account.account'].search([('tag_ids', 'in', [ref('account.demo_ceo_wages_account')]), ('company_id', '=', default_company.id)], limit=1)
|
||
|
if not account:
|
||
|
account = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_expenses')), ('company_id', '=', default_company.id)], limit=1)
|
||
|
if account:
|
||
|
line_vals['account_id'] = account.id
|
||
|
self._update('account.invoice.line', 'account', line_vals, 'ceo_wages_line')
|
||
|
self.env['account.invoice'].browse(ref('demo_invoice_january_wages')).action_invoice_open()
|
||
|
-
|
||
|
!record {model: account.invoice, id: demo_invoice_equipment_purchase}:
|
||
|
partner_id: base.res_partner_1
|
||
|
type: 'in_invoice'
|
||
|
date_invoice: !eval time.strftime('%Y-%m')+'-15'
|
||
|
-
|
||
|
!python {model: ir.model.data, id: False} : |
|
||
|
line_vals = {
|
||
|
'invoice_id': ref('demo_invoice_equipment_purchase'),
|
||
|
'name': "Coffee Machine with huge 'employee\'s performances boosting perk'",
|
||
|
'price_unit': 4999.99,
|
||
|
}
|
||
|
account_default_company = self.env['res.company']._company_default_get('account.account')
|
||
|
account_id = self.env['account.account'].search([('tag_ids', 'in', [ref('account.demo_coffee_machine_account')]), ('company_id', '=', account_default_company.id)], limit=1).id
|
||
|
if not account_id:
|
||
|
account_id = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_expenses')), ('company_id', '=', account_default_company.id)], limit=1).id
|
||
|
if account_id:
|
||
|
line_vals['account_id'] = account_id
|
||
|
tax_default_company = self.env['res.company']._company_default_get('account.tax')
|
||
|
tax_id = self.env['account.tax'].search([('type_tax_use', '=', 'purchase'), ('amount', '>', 0), ('company_id', '=', tax_default_company.id)], limit=1).id
|
||
|
if tax_id:
|
||
|
line_vals['invoice_line_tax_ids'] = [(6, 0, [tax_id])]
|
||
|
self._update('account.invoice.line', 'account', line_vals, 'coffee_machine_line')
|
||
|
self.env['account.invoice'].browse(ref('demo_invoice_equipment_purchase'))._onchange_invoice_line_ids()
|
||
|
self.env['account.invoice'].browse(ref('demo_invoice_equipment_purchase')).action_invoice_open()
|
||
|
|
||
|
-
|
||
|
!python {model: account.bank.statement.line, id: False} : |
|
||
|
default_company = self.env['res.company']._company_default_get('account.account')
|
||
|
account = self.env['account.account'].search([
|
||
|
('user_type_id', '=', ref('account.data_account_type_revenue')),
|
||
|
('tag_ids', 'in', [ref('account.account_tag_financing')]),
|
||
|
('company_id', '=', default_company.id)], limit=1)
|
||
|
line = self.env.ref('account.demo_bank_statement_line_5')
|
||
|
if not line.journal_entry_ids and account:
|
||
|
line.write({'account_id': account.id})
|
||
|
line.fast_counterpart_creation()
|
||
|
-
|
||
|
!python {model: ir.model.data, id: False} : |
|
||
|
from datetime import datetime
|
||
|
from dateutil.relativedelta import relativedelta
|
||
|
default_company = self.env['res.company']._company_default_get('account.journal')
|
||
|
vals = {
|
||
|
'journal_id': self.env['account.journal'].search([('type', '=', 'general'), ('company_id', '=', default_company.id)], limit=1).id,
|
||
|
'date': datetime.now().replace(day=1,month=1) - relativedelta(days=1),
|
||
|
'ref': 'Company Creation',
|
||
|
}
|
||
|
self._update('account.move', 'account', vals, 'demo_opening_move')
|
||
|
-
|
||
|
!python {model: ir.model.data, id: False} : |
|
||
|
journal_default_company = self.env['res.company']._company_default_get('account.journal')
|
||
|
bank_journal = self.env['account.journal'].search([('type', '=', 'bank'), ('company_id', '=', journal_default_company.id)], limit=1)
|
||
|
if bank_journal:
|
||
|
bank_account_id = bank_journal.default_debit_account_id.id
|
||
|
account_default_company = self.env['res.company']._company_default_get('account.account')
|
||
|
fixed_asset_account_id = self.env['account.account'].search([('user_type_id', 'in', (ref('account.data_account_type_fixed_assets'),ref('account.data_account_type_current_assets'))), ('company_id', '=', account_default_company.id)], limit=1).id
|
||
|
equity_account_id = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_equity')), ('tag_ids', 'in', [ref('account.demo_capital_account')]), ('company_id', '=', account_default_company.id)], limit=1).id
|
||
|
if bank_account_id and fixed_asset_account_id and equity_account_id:
|
||
|
self.with_context({'check_move_validity': False})._update('account.move.line', 'account', {
|
||
|
'move_id': ref('account.demo_opening_move'),
|
||
|
'name': 'Opening Entry',
|
||
|
'debit': 5103,
|
||
|
'account_id': bank_account_id}, 'opening_line_1')
|
||
|
self.with_context({'check_move_validity': False})._update('account.move.line', 'account', {
|
||
|
'move_id': ref('account.demo_opening_move'),
|
||
|
'name': 'Opening Entry',
|
||
|
'debit': 13447,
|
||
|
'account_id': fixed_asset_account_id}, 'opening_line_2')
|
||
|
self.with_context({'check_move_validity': False})._update('account.move.line', 'account', {
|
||
|
'move_id': ref('account.demo_opening_move'),
|
||
|
'name': 'Opening Entry',
|
||
|
'credit': 18550,
|
||
|
'account_id': equity_account_id}, 'opening_line_3')
|