Impacted versions:
9.0c/e

Steps to reproduce:
Install hr_payroll_account.
Create a Payslip with a period earlier in the year.
Confirm Payslip

Current behavior:
"Account Date" (on accounting tab an on journal entries) is today

Expected behavior:
"Account Date" should be a date in the period (presumably the last day) as the help for this field describes.  "Keep empty to use the period of the validation(Payslip) date."

Also, filling the date in advance (while its draft) gives you the incorrect assumption that it will be honored at all.  It will not.

I will submit a pull request to fix for this shortly.

import time
from datetime import date, datetime, timedelta
from openerp import api
from openerp.osv import fields, osv
from openerp.tools import float_compare, float_is_zero
from openerp.tools.translate import _
from openerp.exceptions import UserError
class hr_payslip_line(osv.osv):
    '''
    Payslip Line
    '''
    _inherit = 'hr.payslip.line'
    def _get_partner_id(self, cr, uid, payslip_line, credit_account, context=None):
        """
        Get partner_id of slip line to use in account_move_line
        """
        
        partner_id = payslip_line.salary_rule_id.register_id.partner_id.id or \
            payslip_line.slip_id.employee_id.address_home_id.id
        if credit_account:
            if payslip_line.salary_rule_id.register_id.partner_id or \
                    payslip_line.salary_rule_id.account_credit.internal_type in ('receivable', 'payable'):
                return partner_id
        else:
            if payslip_line.salary_rule_id.register_id.partner_id or \
                    payslip_line.salary_rule_id.account_debit.internal_type in ('receivable', 'payable'):
                return partner_id
        return False
class hr_payslip(osv.osv):