'address_id': fields.many2one('res.partner.address', 'Working Address'),
'address_home_id': fields.many2one('res.partner.address', 'Home Address'),
'partner_id': fields.related('address_home_id', 'partner_id', type='many2one', relation='res.partner', readonly=True, help="Partner that is related to the current employee. Accounting transaction will be written on this partner belongs to employee."),
- 'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account', domain="[('partner_id','=',partner_id)]", help="Employee bank salary account"),
+ 'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account Number', domain="[('partner_id','=',partner_id)]", help="Employee bank salary account"),
'work_phone': fields.char('Work Phone', size=32, readonly=False),
'mobile_phone': fields.char('Mobile', size=32, readonly=False),
'work_email': fields.char('Work E-mail', size=240),
method=True,
domain="[('type', '=', 'liquidity')]",
view_load=True,
- help="Select Bank Account from where Salary Expense will be Paid"),
+ help="Select Bank Account from where Salary Expense will be Paid, to be used for payslip verification."),
'salary_account':fields.property(
'account.account',
type='many2one',
self.create_voucher(cr, uid, [slip.id], name, move_id)
name = "To %s account" % (slip.employee_id.name)
+
+ if not slip.employee_id.property_bank_account.id:
+ raise osv.except_osv(_('Warning !'), _('Employee Bank Account is not defined for %s') % slip.employee_id.name)
+
ded_rec = {
'move_id': move_id,
'name': name,
partner_id = False
if not slip.employee_id.bank_account_id:
- raise osv.except_osv(_('Integrity Error !'), _('Please defined bank account for %s !') % (slip.employee_id.name))
+ raise osv.except_osv(_('Integrity Error !'), _('Please define bank account for %s !') % (slip.employee_id.name))
if not slip.employee_id.bank_account_id.partner_id:
- raise osv.except_osv(_('Integrity Error !'), _('Please defined partner in bank account for %s !') % (slip.employee_id.name))
+ raise osv.except_osv(_('Integrity Error !'), _('Please define partner in bank account for %s !') % (slip.employee_id.name))
partner = slip.employee_id.bank_account_id.partner_id
partner_id = slip.employee_id.bank_account_id.partner_id.id
}
move_id = move_pool.create(cr, uid, move, context=context)
self.create_voucher(cr, uid, [slip.id], slip.name, move_id)
-
+
+ if not slip.employee_id.salary_account.id:
+ raise osv.except_osv(_('Warning !'), _('Please define Salary Account for %s.') % slip.employee_id.name)
+
line = {
'move_id':move_id,
'name': "By Basic Salary / " + slip.employee_id.name,
'analytic_account_id': False,
'ref':slip.number
}
-
#Setting Analysis Account for Basic Salary
if slip.employee_id.analytic_account:
line['analytic_account_id'] = slip.employee_id.analytic_account.id
move_line_id = movel_pool.create(cr, uid, line, context=context)
line_ids += [move_line_id]
+ if not slip.employee_id.employee_account.id:
+ raise osv.except_osv(_('Warning !'), _('Please define Employee Payable Account for %s.') % slip.employee_id.name)
+
line = {
'move_id':move_id,
- 'name': "To Basic Paysble Salary / " + slip.employee_id.name,
+ 'name': "To Basic Payable Salary / " + slip.employee_id.name,
'partner_id': partner_id,
'date': slip.date,
'account_id': slip.employee_id.employee_account.id,
'period_id': period_id,
'ref':slip.number
}
+
line_ids += [movel_pool.create(cr, uid, line, context=context)]
for line in slip.line_ids:
</notebook>
</field>
</record>
+
+ <!-- Adding Account Properties to the Employee form -->
+
+ <record id="hr_employee_payroll_property_form" model="ir.ui.view">
+ <field name="name">hr.employee.payroll.property.form</field>
+ <field name="model">hr.employee</field>
+ <field name="inherit_id" ref="hr_contract.hr_hr_employee_view_form2"/>
+ <field name="arch" type="xml">
+ <field name="bank_account_id" position="after">
+ <field name="property_bank_account" string="Employee Bank Account"/>
+ <field name="salary_account"/>
+ <field name="employee_account"/>
+ <field name="analytic_account"/>
+ </field>
+ </field>
+ </record>
+
</data>
</openerp>