회계연도 계산기
임의의 날짜에 대한 회계연도 분기, 시작/종료 일자, 진행률을 계산합니다. 미국, 영국, 호주 및 맞춤 회계연도를 지원합니다.
이 도구 소개
회계연도는 조직이 회계 처리, 재무 보고 및 예산 편성에 사용하는 12개월 기간입니다. 달력 연도(1월~12월)와 달리, 회계연도는 임의의 날짜에 시작하고 종료할 수 있으므로 기업과 정부가 재무 주기를 운영 요구에 맞출 수 있습니다. 미국 연방정부는 10월 1일~9월 30일, 영국은 4월 6일~4월 5일, 호주는 7월 1일~6월 30일을 사용하며, 각각 고유한 역사적, 법적, 계절적 요인을 반영합니다.
이 회계연도 계산기는 현재 속한 회계연도 분기가 무엇인지 판단하고 회계연도 및 현재 분기의 정확한 시작일과 종료일을 제공합니다. 임의의 날짜를 입력하고 회계연도 시작월을 선택하거나(미국 연방정부, 영국, 호주 등의 일반적인 사전 설정 선택 가능) 도구가 회계연도 이름, 분기 번호, 날짜 범위 및 진행 상황 지표를 즉시 계산합니다. 또한 연도 말 명명법(2025년에 종료하는 FY2025)과 연도 초 명명법(2024년에 시작하는 FY2025)을 전환하여 조직의 보고 규칙과 일치시킬 수 있습니다.
이 도구는 재무 팀, 회계사, 비즈니스 분석가 및 분기별 재무 기한 추적이나 분기 프로젝트 계획을 세우는 모든 사람에게 필수입니다. 재무 보고서를 조정하거나 분기별 목표를 설정하거나 조직의 재무 주기에서 현재 위치를 이해하는 경우, 이 계산기는 회계 연도의 위치와 현재 분기의 남은 시간에 대한 즉각적인 명확성을 제공합니다.
자주 묻는 질문
코드 구현
# 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.