Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
4964 Widoki

Hello there,

Recently I'm trying to figuring out how Odoo Payroll works. Later then, I'm having an issue where I can't compute my payslip, it says that I submitting a wrong code in my Salary Rules

so here's my code

if contract.wage <= 50000000:
result = -(contract.wage * 0.05)
else:
result = -(contract.wage * 0.15)

I don't really know if it's the right code for If-Else statement haha. I really appreciate any kind of help from you guys, thank you

Awatar
Odrzuć
Najlepsza odpowiedź

Am just answering for If-Else statement,

result = 0.00
if contract.wage <= 50000000:
    result = -(contract.wage * 0.05)
else:
    result = -(contract.wage * 0.15)
You should declare the variable result before accessing it and the computation should come inside with an indent spacing in If-Else statement(Python)
Let me know if it doesn't work, then your having an issue in your salary rule logic.
Awatar
Odrzuć
Autor

Hello Karthikeyan :D

First of all, I want to thank you for your time and answer but unfortunately, the code still gave me the same error.

However, I already find a way by splitting that rule into two (Rules AB → Rules A, Rules B) and adding the python code in the Condition section.

So the code for each rule be like:

Rules A (https://prnt.sc/zlo697)

*Condition: result = contract.wage > 50000000

*Computation: result = - (contract.wage * 0.15)

Rules B (https://prnt.sc/zlodok)

*Condition: result = contract.wage <= 50000000

*Computation: result = - (contract.wage * 0.05)

Once again, thank you for your answer Karthikeyan and I hope our answer could help other community members or anyone else :D

Powiązane posty Odpowiedzi Widoki Czynność
1
sie 19
7367
1
maj 25
611
1
mar 25
883
0
lut 25
1060
1
gru 24
1593