Расчеты налоговых корректировок в связи с приростом, бонусом и т. д. за текущий финансовый год с использованием Python PPython

Программы на Python
Гость
Расчеты налоговых корректировок в связи с приростом, бонусом и т. д. за текущий финансовый год с использованием Python P

Сообщение Гость »


У меня есть следующие данные, имена столбцов: имя_сотрудника, месяц, год, зарплата, >приращение, бонус. Я хочу внести налоговые корректировки за текущий финансовый год, которые должны были быть уплачены сотруднику А в связи с надбавкой и бонусом.
имя_сотрудника месяц год брутто_зарплата приращение бонус А Июль 2023 80 000 - - А Август 2023 80 000 25 000 45 000 А Сентябрь 2023 125 000 - - А Октябрь 2023 125 000 - 10 000
Поскольку согласно налоговому регулированию нашей страны, мы заранее рассчитываем ставку налога на весь следующий финансовый год. А перед выплатой зарплаты вычитается налоговая ставка перед передачей зарплаты работнику. Но когда к зарплате добавляется что-нибудь, например (бонус, сверхурочные, уровень инкассации и т. д.). Tax_rate, рассчитанный ранее, теперь изменяется. В соответствии с правилом налогового регулирующего органа мы должны скорректировать сумму налога, которая не была вычтена в предыдущем месяце, теперь вычтена из текущего месяца. и что текущая налоговая ставка будет применяться до конца всего финансового года.

Функция расчета налоговых плит в Python, которая рассчитывает ставку налога, работает отлично. В связи с увеличением заработной платы либо из-за надбавки, либо из-за премии, годовой налогооблагаемый доход будет меняться каждый месяц, а также налоговые обязательства.

def Calculate_tax_2_5(exceeding_amount): deduction_tax_amount = (2,5 / 100) * float(exceeding_amount) возврат deduction_tax_amount def Calculate_tax(gross_salary, Bonus, Annual_taxable_income=None): если Annual_taxable_income равен None: если бонус == 0: годовой_налоговый_доход = валовая_зарплата * 12 еще: годовой_налоговый_доход = (валовая_зарплата * 12) + (бонус * валовая_зарплата) deduction_tax_amount = 0 # Инициализировать deduction_tax_amount # Данные налоговых правил данные = { «Мин»: [0, 600001, 1200001, 2400001, 3600001, 6000001], «Макс»: [600000, 1200000, 2400000, 3600000, 6000000, 700000000000000000000000000], "Правило": ["0", "2,5%", "15000+12,5%", "165000+22,5%", "435000+27,5%", "1095000+35%"] } Tax_rules_df = pd.DataFrame (данные) применимое_правило = Нет налог_строка = Нет для idx, Tax_row в Tax_rules_df.iterrows(): if Tax_row["Min"]

Вернуться в «Python»