"""Источник: synthetic-group/gen/chart.py (#35). Используемые субсчета плана счетов (коды — из seed arm-core chart_of_accounts.csv).""" ACCOUNTS: dict[str, str] = { "000": "Вспомогательный счет", "01": "Основные средства", "01.01": "Основные средства в организации", "02": "Амортизация основных средств", "03": "Доходные вложения в материальные ценности", "08": "Вложения во внеоборотные активы", "10": "Материалы", "19": "НДС по приобретенным ценностям", "20": "Основное производство", "26": "Общехозяйственные расходы", "41": "Товары", "43": "Готовая продукция", "44": "Расходы на продажу", "50": "Касса", "51": "Расчетные счета", "52": "Валютные счета", "55": "Специальные счета в банках", "58.01": "Паи и акции", "58.03": "Предоставленные займы", "59": "Резервы под обесценение финансовых вложений", "60.01": "Расчеты с поставщиками и подрядчиками", "60.02": "Расчеты по авансам выданным", "62.01": "Расчеты с покупателями и заказчиками", "62.02": "Расчеты по авансам полученным", "66.01": "Краткосрочные кредиты", "66.02": "Проценты по краткосрочным кредитам", "66.03": "Краткосрочные займы", "66.04": "Проценты по краткосрочным займам", "67.01": "Долгосрочные кредиты", "67.02": "Проценты по долгосрочным кредитам", "67.03": "Долгосрочные займы", "67.04": "Проценты по долгосрочным займам", "68": "Расчеты по налогам и сборам", "68.04": "Налог на прибыль", "69": "Расчеты по социальному страхованию и обеспечению", "70": "Расчеты с персоналом по оплате труда", "71": "Расчеты с подотчетными лицами", "73": "Расчеты с персоналом по прочим операциям", "75.02": "Расчеты по выплате доходов", "76.03": "Расчеты по причитающимся дивидендам и другим доходам", "76.05": "Расчеты с прочими поставщиками и подрядчиками", "76.07.1": "Арендные обязательства", "76.07.9": "НДС по арендным обязательствам", "76.09": "Прочие расчеты с разными дебиторами и кредиторами", "76.АВ": "НДС по авансам и предоплатам", "80": "Уставный капитал", "80.09": "Прочий капитал", "82": "Резервный капитал", "83": "Добавочный капитал", "84": "Нераспределенная прибыль (непокрытый убыток)", "86": "Целевое финансирование", "90.01": "Выручка", "90.02": "Себестоимость продаж", "90.03": "Налог на добавленную стоимость", "90.04": "Акцизы", "90.05": "Экспортные пошлины", # 90.06 в seed отсутствует "90.07": "Расходы на продажу", "90.08": "Управленческие расходы", "90.09": "Прибыль / убыток от продаж", "91.01": "Прочие доходы", "91.02": "Прочие расходы", "91.09": "Сальдо прочих доходов и расходов", "96": "Резервы предстоящих расходов", "97": "Расходы будущих периодов", "99": "Прибыли и убытки", "001": "Арендованные основные средства", "008": "Обеспечения обязательств и платежей полученные", "009": "Обеспечения обязательств и платежей выданные", "011": "Основные средства, сданные в аренду", } def is_off_balance(code: str) -> bool: return code.isdigit() and len(code) == 3 and "001" <= code <= "011" def parent(code: str) -> str: return code.rsplit(".", 1)[0] if "." in code else code