Калькулятор Финансового Года
Вычисляет квартал финансового года, даты начала/конца и прогресс для любой даты. Поддерживает США, Великобританию, Австралию и пользовательские финансовые годы.
Об этом инструменте
Финансовый год — это 12-месячный период, который организации используют для учёта, финансовой отчётности и бюджетирования. В отличие от календарного года (январь–декабрь), финансовый год может начинаться и заканчиваться в любые даты, позволяя компаниям и правительствам согласовывать свои финансовые циклы с их операционными потребностями. Федеральное правительство США использует период с 1 октября по 30 сентября, Великобритания — с 6 апреля по 5 апреля, а Австралия — с 1 июля по 30 июня, отражая каждое уникальные исторические, правовые или сезонные факторы.
Этот калькулятор финансового года помогает определить, в каком квартале финансового года вы находитесь, и предоставляет точные даты начала и окончания как финансового года, так и текущего квартала. Просто введите любую дату, выберите месяц начала финансового года (или выберите распространённый предустановки, такие как Федеральное правительство США, Великобритания или Австралия) и инструмент мгновенно рассчитает название финансового года, номер квартала, диапазоны дат и показатели прогресса. Вы также можете переключаться между номенклатурой конца года (FY2025, заканчивающаяся в 2025) и номенклатурой начала года (FY2025, начинающаяся в 2024) в соответствии с соглашением об отчётности вашей организации.
Этот инструмент необходим для финансовых команд, бухгалтеров, бизнес-аналитиков и всех, кто отслеживает финансовые сроки или планирует проекты на протяжении кварталов. Независимо от того, выполняете ли вы сверку финансовых отчётов, устанавливаете квартальные цели или просто разбираетесь в том, где вы находитесь в финансовом цикле вашей организации, этот калькулятор обеспечивает мгновенную ясность о вашей позиции в финансовом году и оставшемся времени в текущем квартале.
Часто задаваемые вопросы
Реализация кода
# Fiscal Year Calculator
from datetime import date, timedelta
def get_fiscal_year(d: date, fy_start_month: int, naming_end: bool = True) -> dict:
"""
Calculate fiscal year details for a given date.
fy_start_month: 1=Jan, 2=Feb, ..., 10=Oct, etc.
"""
month = d.month
year = d.year
# Determine FY start year
if month >= fy_start_month:
fy_start = date(year, fy_start_month, 1)
else:
fy_start = date(year - 1, fy_start_month, 1)
# FY end date (one day before next FY start)
fy_end_year = fy_start.year + 1
fy_end = date(fy_end_year, fy_start_month, 1) - timedelta(days=1)
# FY name
fy_name = f"FY{fy_end_year}" if naming_end else f"FY{fy_start.year}"
# Quarter
months_from_start = (month - fy_start_month) % 12
quarter = months_from_start // 3 + 1
# Quarter start/end
q_start_month = (fy_start_month + (quarter - 1) * 3 - 1) % 12 + 1
q_start_year = fy_start.year + ((fy_start_month + (quarter - 1) * 3 - 1) // 12)
q_start = date(q_start_year, q_start_month, 1)
q_end_month = (q_start_month + 2) % 12 + 1
if q_end_month == 1:
q_end = date(q_start_year + 1, 1, 1) - timedelta(days=1)
else:
q_end = date(q_start_year, q_start_month + 3, 1) - timedelta(days=1)
total_days = (fy_end - fy_start).days + 1
elapsed = (d - fy_start).days
remaining = total_days - elapsed
progress = round(elapsed / total_days * 100)
return {
"fy_name": fy_name,
"quarter": quarter,
"fy_start": fy_start.isoformat(),
"fy_end": fy_end.isoformat(),
"q_start": q_start.isoformat(),
"q_end": q_end.isoformat(),
"days_elapsed": elapsed,
"days_remaining": remaining,
"progress_pct": progress,
}
# Examples
today = date.today()
print("US Federal (Oct):", get_fiscal_year(today, 10, naming_end=True))
print("UK (Apr):", get_fiscal_year(today, 4, naming_end=True))
print("Australia (Jul):", get_fiscal_year(today, 7, naming_end=True))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.