Last active
March 15, 2023 15:56
-
-
Save izikeros/d05debc9c99d9bed32d2c2519c280f08 to your computer and use it in GitHub Desktop.
skrypt obliczający odsetki ustawowe od należności podanych w pliku csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Skrypt obliczający odsetki ustawowe od należności podanych w pliku csv | |
Przykladowa zawartość pliku: | |
required_payment_date,payment_amount | |
2023-02-10,2700 | |
2023-03-10,1200 | |
""" | |
import csv | |
import datetime | |
# Load CSV file | |
with open('payments.csv') as csv_file: | |
csv_reader = csv.DictReader(csv_file) | |
payments = [row for row in csv_reader] | |
# Input date for calculating interest (today) | |
input_date = datetime.datetime.now().date() | |
# Calculate interest for each payment | |
total_amount = 0 | |
total_interest = 0 | |
interest_rate = 0.12 # Example interest rate of 12% per annum | |
for payment in payments: | |
required_payment_date = datetime.datetime.strptime(payment['required_payment_date'], '%Y-%m-%d').date() | |
payment_amount = float(payment['payment_amount']) | |
if input_date > required_payment_date: | |
delay_days = (input_date - required_payment_date).days | |
interest = (payment_amount * interest_rate * delay_days) / 365 | |
print(f"Płatność {payment_amount} PLN wymagana do dnia: {required_payment_date} jest opóźniona {delay_days} dni - {interest:.2f} PLN odsetek urzędowych.") | |
total_amount = total_amount + payment_amount | |
total_interest = total_interest + interest | |
print("Należność: ", total_amount, "Odsetki: ",round(total_interest,2)) | |
print("W sumie: ", round(total_amount + total_interest, 2)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment