openerp-community team mailing list archive
-
openerp-community team
-
Mailing list archive
-
Message #01302
Re: Payroll - Personal Deductions
Hi Fabien,
I'm not clear on how that would be used in this case. If I have a specific deduction/allowance shared by most/all employees with different conditions (e.g. amount, or based on date between or YTD amounts), wouldn't adding an input item just force me to enter the amount manually each time? I may be missing something, or misunderstanding, but I don't see a way to pull a value automatically into the input amount. Or are you suggesting adding a function to calculate the input field?
Wouldn't it be simpler just to pass a parameter (e.g. 'Code') to a function that would then look in the hr_payroll_employee_rules for a matching code and return the values - date to, date from and YTD's - as a browseable or dictionary? Then the rule could be applied differently for each employee based on the values in the table. An example might be a deduction for Retirement Savings where there's a maximum amount per employee and they may only want to contribute for part of the year or a federal pension plan that maxes out at a certain amount based on wage.
Forgive me if the 'Other Inputs' already does something like this, I dug through the code a bit and couldn't find it.
Thanks!
John
On 2012-10-02, at 2:40 PM, Fabien Pinckaers <fp@xxxxxxxxxxx> wrote:
> Hello,
>
> The payslip handles specific variables like this with the "Other Inputs" section
> which is filled automatically according to the variables used in the salary rules.
> We use this for rules like:
> - payment commissions on salesman
> - special allowances/deductions...
>
> I would just put the exact same table on the employee contract that will just fill
> the default values of the Other Input section of the payslip. It defines variables
> that are used by salary rules.
>
>
> On 02/10/12 18:38, Daniel Reis wrote:
>> I have the following suggestions:
>> - name the class as "class hr_payroll_employee_rules", so it encompasses both deductions and allowances.
>> - you'll need also 'value': fields.float ... Note that this usually will hold a currency amount, but is same cases you might need it to represent a quantity.
>>
>> As for the ytd_occurence and ytd_amount, I probably would skip them right now.
>> Probably mos cases can be handled the the start - end dates.
>> IMHO this sort of calculation should be a feature of the payroll rule engine, but that's a whole new problem...
>>
>> Regarding the date ranges, date fields are represented by the ORM as 'yyyy-mm-dd' strings,so there sould be no problem.
>>
>> DR
>>
>> ------------------------------------------------------------------------
>> Subject: Re: [Openerp-community] Payroll - Personal Deductions
>> From: justbe.john@xxxxxxxxx
>> Date: Tue, 2 Oct 2012 11:13:48 -0400
>> CC: openerp-community@xxxxxxxxxxxxxxxxxxx
>> To: dreis.pt@xxxxxxxxxxx
>>
>> Daniel and list, to clarify further and incorporate your suggestions could add the following:
>>
>> Add class hr_payroll_employee_deductions with the columns:
>>
>> 'name': fields.char
>> 'code': fields.char
>> 'employee_id': fields.many2one
>> 'ytd_amount': fields.function('_get_ytd_amount', etc, etc),
>> 'ytd_occurence': fields.function('_get_ytd_occurence', etc, etc),
>> 'date_start': fields.date
>> 'date_end': fields.date
>>
>> This would be available on the employee or contract form, and country specific defaults could be loaded with 0 amounts.
>>
>> Include functions _get_ytd_occurence, _get_ytd_amount. Also add a function to return a browseable object based on the code, although I think this may require overwriting browse() instead (?). Or I might be able to just add an additional field which returns a browseable object or dictionary of the values.
>>
>> To the Available Variables (hr_payroll) add employee_deductions that will allow use of employee_deductions.X.ytd_amount, employee_deductions.X.date_start, etc (where X is the code from hr_payroll_employee_deductions). With that approach, you could add rules with Condition based on: Range and the range based on date or a minimum/maximum of YTD amount. I haven't tried using the range for dates or looked at the function so it may also require modification.
>>
>> The only issue I can see with this is that all unique deductions would need to have a corresponding rule within the salary structure, but there should be a limited number of deductions.
>>
>>
>> On 2012-10-02, at 9:48 AM, Daniel Reis <dreis.pt@xxxxxxxxxxx <mailto:dreis.pt@xxxxxxxxxxx>> wrote:
>>
>> My explanation was not very clear, I'm sorry.
>>
>> AFAIK, Salary Rules are declared in Salary Structures.
>> You can't associate a Salary Rule directly to an Employee.
>> Closest thing you can do is to create a specific Salary Structure
>> for that person. It'll do the job, but I think it's rather clumsy.
>>
>> I feel that the possibility to also associate Salary Rules
>> directly with Contracts/Employees would allow to solve this issue.
>> This way it would be easy, for example, to add a specific fixed
>> deduction to an employee.
>> Additionally, if it includes a "date from" and "date to", or a
>> "number of occurrences", it could the user with the cases where
>> the deductions are to be made during a 4 month period or in the
>> next 3 payslips.
>>
>> Regards
>> Daniel Reis
>>
>>
>> ------------------------------------------------------------------------
>> From: justbe.john@xxxxxxxxx <mailto:justbe.john@xxxxxxxxx>
>> Date: Tue, 2 Oct 2012 09:06:33 -0400
>> To: openerp-community@xxxxxxxxxxxxxxxxxxx
>> <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
>> Subject: Re: [Openerp-community] Payroll - Personal Deductions
>>
>> Not sure I'm following. Wouldn't that be the same as the existing
>> Salary Rules, since you'd need to enter a separate one per
>> employee? I think the one additional requirement that you
>> mentioned (and I'm looking into) is have a different cycle than
>> the actual pay cycle - for example a deduction/allowance could be
>> made once monthly when the pay cycle is weekly.
>>
>> My thinking for country specific variables add single fields to
>> the employee object and a single salary rule that uses that field
>> for all employees that require it. I realize that's likely a
>> country specific way of doing it, but it could be added to
>> whatever rules are standard for that country as the local payroll
>> module.
>>
>> Does that make sense, or were you thinking something else?
>>
>> On 2012-10-02, at 8:42 AM, Daniel Reis <dreis.pt@xxxxxxxxxxx
>> <mailto:dreis.pt@xxxxxxxxxxx>> wrote:
>>
>> In my experience, typical payroll sw has a "Fixed Values"
>> table and "Variable Values" table (weekly, monthly, etc)
>> associated with employees.
>> To add a fixed allowance to an employee you just add a row
>> woth the code, value and date period.
>>
>> If anyone is willing to add such a feature to OpenERP I'm
>> willing to help.
>>
>> Regards
>> Daniel Reis
>>
>>
>> ------------------------------------------------------------------------
>> Date: Tue, 2 Oct 2012 09:16:29 +0800
>> From:eric.caudal@xxxxxxxxxxxxxx
>> <mailto:eric.caudal@xxxxxxxxxxxxxx>
>> To:openerp-community@xxxxxxxxxxxxxxxxxxx
>> <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
>> Subject: Re: [Openerp-community] Payroll - Personal Deductions
>>
>> Adding a field in the employee or contract and referring to it
>> in the payroll rules is probably the easiest.
>>
>> <Logo-Elico90.gif>
>>
>>
>> *Eric CAUDAL*, Elico Corp, Shanghai.
>> eric.caudal@xxxxxxxxxxxxxx <mailto:eric.caudal@xxxxxxxxxxxxxx>
>> Cell: + 86 186 2136 1670. Skype: elico.corp
>> *Premium Certified Training Partner - OpenERP Ready Partner.*
>>
>>
>> <CTP-Premium-Partner-logo-300x62.png>
>> http://www.openerp.net.cn
>>
>> On 10/02/2012 08:45 AM, John Boyle wrote:
>>
>> Hi folks,
>>
>> Just wondering what's the best way to handle personal deductions for payroll? Specifically, I'm referring to cases where there's a deduction for many/most employees but the amount differs by employee.
>>
>> Adding a specific rule for each employees deduction seems a little tedious. Should a field be added to the Employee or Contract and a single rule used? Or is there a better way?
>>
>> Thanks!
>> John
>> _______________________________________________
>> Mailing list:https://launchpad.net/~openerp-community <https://launchpad.net/%7Eopenerp-community>
>> Post to :openerp-community@xxxxxxxxxxxxxxxxxxx <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe :https://launchpad.net/~openerp-community <https://launchpad.net/%7Eopenerp-community>
>> More help :https://help.launchpad.net/ListHelp
>>
>>
>>
>> _______________________________________________ Mailing
>> list:https://launchpad.net/~openerp-community
>> <https://launchpad.net/%7Eopenerp-community>Post to
>> :openerp-community@xxxxxxxxxxxxxxxxxxx
>> <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>Unsubscribe
>> :https://launchpad.net/~openerp-community
>> <https://launchpad.net/%7Eopenerp-community>More help
>> :https://help.launchpad.net/ListHelp
>> _______________________________________________
>> Mailing list:https://launchpad.net/~openerp-community
>> <https://launchpad.net/%7Eopenerp-community>
>> Post to :openerp-community@xxxxxxxxxxxxxxxxxxx
>> <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe :https://launchpad.net/~openerp-community
>> <https://launchpad.net/%7Eopenerp-community>
>> More help :https://help.launchpad.net/ListHelp
>>
>>
>>
>> _______________________________________________ Mailing
>> list:https://launchpad.net/~openerp-community
>> <https://launchpad.net/%7Eopenerp-community>Post to
>> :openerp-community@xxxxxxxxxxxxxxxxxxx
>> <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>Unsubscribe
>> :https://launchpad.net/~openerp-community
>> <https://launchpad.net/%7Eopenerp-community>More help
>> :https://help.launchpad.net/ListHelp
>> _______________________________________________
>> Mailing list:https://launchpad.net/~openerp-community
>> <https://launchpad.net/%7Eopenerp-community>
>> Post to :openerp-community@xxxxxxxxxxxxxxxxxxx
>> <mailto:openerp-community@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe :https://launchpad.net/~openerp-community
>> <https://launchpad.net/%7Eopenerp-community>
>> More help :https://help.launchpad.net/ListHelp
>>
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openerp-community
>> Post to : openerp-community@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openerp-community
>> More help : https://help.launchpad.net/ListHelp
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-community
> Post to : openerp-community@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openerp-community
> More help : https://help.launchpad.net/ListHelp
References