2020-09-16 15:01:12 +02:00
|
|
|
try:
|
|
|
|
from common.inputChecking.choiceInput import choiceInput
|
|
|
|
from common.inputChecking.typeCheck import inputTypeCheck
|
|
|
|
except ModuleNotFoundError:
|
|
|
|
print('Sjekk README.md for hvilke flagg python trenger')
|
|
|
|
exit(1)
|
|
|
|
|
2020-09-14 12:29:51 +02:00
|
|
|
INFO = """INFO
|
|
|
|
Dette programmet besvarer om din utleie en annen type bolig,
|
|
|
|
her sekundær- eller fritidsbolig, er skattepliktig.
|
|
|
|
Først trenger vi å vite om du leier ut en sekundær- eller en fritidsbolig."""
|
|
|
|
|
|
|
|
HLINE = '---------------------------------------------------------------------'
|
|
|
|
|
|
|
|
FRITIDSBOLIG_INFO = """INFO
|
|
|
|
Du har valgt fritidsbolig.
|
|
|
|
Nå trenger vi først å vite om fritidsboligen(e) primært brukes til utleie eller fritid.
|
|
|
|
Deretter trenger vi å vite hvor mange fritidsbolig(er) du leier ut.
|
|
|
|
Til slutt trenger vi å vite hvor store utleieinntekter du har pr. fritidsbolig."""
|
|
|
|
|
|
|
|
SECONDARYHOUSE_INFO = """INFO
|
|
|
|
Du har valgt sekundærbolig.
|
|
|
|
Nå trenger vi først å vite hvor mange sekundærbolig(er) du leier ut.
|
|
|
|
Deretter trenger vi å vite hvor store utleieinntekter du har pr. sekundærbolig."""
|
|
|
|
|
|
|
|
|
|
|
|
def fritidsboligBranch():
|
|
|
|
print(FRITIDSBOLIG_INFO)
|
|
|
|
print(HLINE)
|
|
|
|
print('DATAINNHENTING:')
|
2020-09-16 15:01:12 +02:00
|
|
|
housePurposeIsRenting = choiceInput(
|
|
|
|
prompt='Skriv inn formålet med fritidsboligen(e): ',
|
|
|
|
choices=['utleie', 'fritid']
|
|
|
|
) == 'utleie'
|
|
|
|
houseAmount = inputTypeCheck('Skriv inn antallet fritidsboliger du leier ut: ', int)
|
|
|
|
rentPerHouse = inputTypeCheck('Skriv inn utleieinntekten pr. fritidsbolig: ', int)
|
2020-09-14 12:29:51 +02:00
|
|
|
print()
|
|
|
|
print(HLINE)
|
|
|
|
print('SKATTEBEREGNING')
|
|
|
|
|
|
|
|
hasTax = housePurposeIsRenting or rentPerHouse > 10000
|
|
|
|
if hasTax:
|
|
|
|
print('Inntekten er skattepliktig')
|
|
|
|
if not housePurposeIsRenting:
|
|
|
|
print(f'Overskytende beløp pr. fritidsbolig er {rentPerHouse - 10000}')
|
|
|
|
|
|
|
|
housePurposeDeduction = 0 if housePurposeIsRenting else 10000
|
|
|
|
taxedRentPerHouse = (rentPerHouse - housePurposeDeduction) * 85/100
|
|
|
|
|
|
|
|
print(f'Skattepliktig inntekt pr. fritidsbolig er {taxedRentPerHouse}')
|
|
|
|
print(f'Totalt skattepliktig beløp er {houseAmount * taxedRentPerHouse}')
|
|
|
|
else:
|
|
|
|
print('Inntekten er ikke skattepliktig')
|
|
|
|
|
|
|
|
def secondaryHouseBranch():
|
|
|
|
print(SECONDARYHOUSE_INFO)
|
|
|
|
print(HLINE)
|
|
|
|
print('DATAINNHENTING:')
|
2020-09-16 15:01:12 +02:00
|
|
|
houseAmount = inputTypeCheck('Skriv inn antallet sekundærboliger du leier ut: ', int)
|
|
|
|
rentPerHouse = inputTypeCheck('Skriv inn utleieinntekten pr. sekundærbolig: ', int)
|
2020-09-14 12:29:51 +02:00
|
|
|
|
2020-09-16 15:01:12 +02:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2020-09-14 12:29:51 +02:00
|
|
|
print(INFO)
|
|
|
|
print(HLINE)
|
|
|
|
print('DATAINNHENTING:')
|
2020-09-16 15:01:12 +02:00
|
|
|
houseType = choiceInput(
|
|
|
|
prompt='Skriv inn type annen bolig (sekundærbolig/fritidsbolig) du har leid ut: ',
|
|
|
|
choices=['fritidsbolig','sekundærbolig']
|
2020-09-14 12:29:51 +02:00
|
|
|
)
|
|
|
|
print()
|
|
|
|
|
2020-09-16 15:01:12 +02:00
|
|
|
if houseType == 'fritidsbolig':
|
2020-09-14 12:29:51 +02:00
|
|
|
fritidsboligBranch()
|
|
|
|
else:
|
2020-09-16 15:01:12 +02:00
|
|
|
secondaryHouseBranch()
|