payroll icon indicating copy to clipboard operation
payroll copied to clipboard

[18.0] Advanced Payroll WIP

Open dreispt opened this issue 1 year ago • 16 comments

Depends on:

  • [x] #173
  • [x] #177

dreispt avatar Dec 16 '24 09:12 dreispt

Hello @dreispt, some of this are great additions to payroll.

I suggest you if you want to be merged to separate the modules in different PRs.

Also, regarding the module salary_table, we are currently using the server-tools time conditions module to save such params and can be used in salary rules. Maybe you can take a look to it, the module is still in v14 for payroll. Maybe you find interesting proposing a migration (it should no be difficult)

nimarosa avatar Jan 06 '25 09:01 nimarosa

@nimarosa Thank you for your comments, and please keep an eye here and continue providing feedback. In particular I worry if some of the names chosen are too context specific, and better ones could be used.

This is a WIP and unstable. More features/modules will be coming. In its final form each commit will have its own PR.

Regarding the salary table, I quickly reviewed the 14.0 implementation, and it seems to only cover the case for global parameters. The features required are more generic. Examples are given in the README. Let me know if this makes sense.

Thanks

dreispt avatar Jan 06 '25 12:01 dreispt

Hello @dreispt,

Let me review in detail the modules you are proposing and I give you feedback and my opinion, I think some functionalities can be added directly to payroll, but I have to see it in detail.

Thanks for your contributions, I look forward to new changes.

nimarosa avatar Jan 06 '25 18:01 nimarosa

@dreispt I like the new modules you are introducing. I have to test them locally. Is this PR ready for testing/merging or it's not finished yet?

nimarosa avatar May 06 '25 23:05 nimarosa

It should be working.

dreispt avatar May 07 '25 07:05 dreispt

@dreispt Hello, i want to introduce some changes to your modules here. More like view changes and improvements. Can i do it in this PR? So then we can move it to open and merge it.

I have similar modules but your implementation seems advanced so maybe we can work in it here in this PR. i have push access to this PR so if you are okay i can add changes here.

nimarosa avatar May 08 '25 16:05 nimarosa

You can. I can extract module sinto individual PR once they are good enough for that.

dreispt avatar May 18 '25 15:05 dreispt

why not we port payroll enterprise into community ?

usmanfarzandali avatar Jul 09 '25 20:07 usmanfarzandali

why not we port payroll enterprise into community ?

@usmanfarzandali because payroll from OCA is better and with more functionalities than enterprise.

nimarosa avatar Jul 10 '25 02:07 nimarosa

why not we port payroll enterprise into community ?

Why would we want to do that?

dreispt avatar Jul 10 '25 12:07 dreispt

Hello, i want to introduce some changes to your modules here. More like view changes and improvements. Can i do it in this PR? So then we can move it to open and merge it.

They are already isolated as one module per commit. I have them in the same branch to conveniently work on them at the same time.

@nimarosa You are welcome to create a new branch, cherry-pick the commit for particular module you want, and then add proposed changes to it.

dreispt avatar Jul 10 '25 12:07 dreispt

Hello, i want to introduce some changes to your modules here. More like view changes and improvements. Can i do it in this PR? So then we can move it to open and merge it.

They are already isolated as one module per commit.

I have them in the same branch to conveniently work on them at the same time.

@nimarosa You are welcome to create a new branch, cherry-pick the commit for particular module you want, and then add proposed changes to it.

Yes @dreispt, that's what im doing. When im ready i will share them here so we can merge them if you are okay with the new changes.

Im replacing other implementations i have with your modules so i will be adding a lot of new features to them. Hope we can work together in them.

nimarosa avatar Jul 10 '25 17:07 nimarosa

Great @nimarosa If you create a WIP PR I would be able to follow on your progress and maybe make early comments on the direction taken.

dreispt avatar Jul 11 '25 11:07 dreispt

There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this PR to never become stale, please ask a PSC member to apply the "no stale" label.

github-actions[bot] avatar Nov 09 '25 12:11 github-actions[bot]

Hi @dreispt,

Since the runboat is not active, I have installed and tested the module locally. This is an interesting approach to ensure that the components within the contract remain dynamic and sustainable. I have a few notes:

  1. There are situations where changes in Master data need to be requested by one person and then reviewed and approved by another. For that reason, it would be great if we could enable logging here with draft and confirmed states. In the future, with other modules, this module could also be extended with tier validation.

  2. I encountered an error when trying to access the Rule History with the following error message:

UncaughtPromiseError

Uncaught Promise > View types not defined form found in act_window action undefined

Error: View types not defined form found in act_window action undefined at _executeActWindowAction (localhost:8069/web/assets/1/26b6886/web.assets_web.min.js:10103:26) at doAction (localhost:8069/web/assets/1/26b6886/web.assets_web.min.js:10128:8) at async Object.doActionButton (localhost:8069/web/assets/1/26b6886/web.assets_web.min.js:10139:249) at async execute (localhost:8069/web/assets/1/26b6886/web.assets_web.min.js:9741:301) at async executeButtonCallback (localhost:8069/web/assets/1/26b6886/web.assets_web.min.js:9734:34)

  1. I am a bit surprised with the fields Type 1, 2, and 3. Typically, Odoo and OCA use a dynamic approach such as Many2One to ensure that potential records can be supported in the future. But in this case, it uses hardcoded values to cover the three existing types. Essentially, I still do not understand the purpose of this table. A bit more information in readme will help user to understand.

  2. How do we define parameters that are global in nature? In version 14, we had payroll_rule_time_parameter. Is that module no longer needed in version 18?" I gues it will refer to point 3, the salary tables / periods ?

Thanks for the great modules

hitrosol avatar Nov 18 '25 10:11 hitrosol

@hitrosol Thanks for the review and feedback.

Since the runboat is not active, I have installed and tested the module locally. This is an interesting approach to ensure that the components within the contract remain dynamic and sustainable. I have a few notes:

I haven't been able to resume work on this recently, but will eventually.

  1. There are situations where changes in Master data need to be requested by one person and then reviewed and approved by another. For that reason, it would be great if we could enable logging here with draft and confirmed states. In the future, with other modules, this module could also be extended with tier validation.

Sounds like a good idea. I will look into it.

  1. I encountered an error when trying to access the Rule History with the following error message:

Noted.

  1. I am a bit surprised with the fields Type 1, 2, and 3. Typically, Odoo and OCA use a dynamic approach such as Many2One to ensure that potential records can be supported in the future. But in this case, it uses hardcoded values to cover the three existing types. Essentially, I still do not understand the purpose of this table. A bit more information in readme will help user to understand.

I will improve the Readme. We want dynamic support for Employee Master Data, with full history. In sectors like Banking and Government you might find things like: Professional Category, Seniority Date or Base Pay. These three examples use different type of values: a Char, a Date or a Float. So each different Master Data item has a configuration for that data type it uses, and only the appropriate field will be made available to the user.

  1. How do we define parameters that are global in nature? In version 14, we had payroll_rule_time_parameter. Is that module no longer needed in version 18?" I guess it will refer to point 3, the salary tables / periods ?

Not factored in, but probably that's not hard to do using the same data structures that there. Using the module you mention alongside can be an option, but it is not my personal preference.

Thanks for the great modules

Thank you for the feedback!

dreispt avatar Nov 18 '25 10:11 dreispt