Public release from ruodoo-project: 19.0 - 2026-11-01 22:52:25 UTC

This commit is contained in:
CI Publish Bot
2026-11-01 22:54:30 +00:00
commit 26250aa580
2492 changed files with 664277 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
# Декларация УСН «Доходы» (Этап 8) — статус
Модуль: `rsbu_fns_reporting`. Форма КНД 1152017, электронный формат
`NO_USN_1_030_00_05_09` (версия 5.09). Объект налогообложения — «Доходы».
## Сделано
- **Расчёт** (`rsbu.usn.declaration`): разделы 2.1.1 (доход 110-113, ставка
120-123, исчислено 130-133, вычет взносов 140-143) и 1.1 (авансы
020/040/070, к уменьшению 050/080, налог к доплате 100, к уменьшению 110)
нарастающим итогом из `rsbu.kudir.summary` по формулам Порядка (п.16-25).
Вычет взносов ограничен признаком НП: 50% (работодатель) / 100% (ИП без
работников).
- **Электронный XML** (`rsbu_usn_xml.py`): lxml, windows-1251, кириллические
теги. Структура Файл/Документ/СвНП/Подписант/УСН/СумНалПУ_НП/РасчНал1.
Реквизиты из настроек (ИНН/КПП/ОКТМО/КодНО/подписант, модуль
`rsbu_reporting_base`). Имя файла обмена по Порядку п.3
(`NO_USN_<КодНО>_<КодНО>_<ИНН+КПП>_<GGGGMMDD>_<GUID>`); атрибут `ИдФайл`
совпадает с именем файла. Валидация против XSD-схемы (`data/schemas/`)
встроена в выгрузку.
- **UI**: список/форма с кнопками «Рассчитать»/«Выгрузить XML», меню
«Отчётность ФНС → Декларация УСН».
- **Свежесть данных**: `action_export_xml` ВСЕГДА вызывает `action_compute`
(пересбор итогов КУДиР + расчёт) перед формированием файла — исключён
риск выгрузки устаревших сумм после проведения новых документов.
Пересчёт идемпотентен. Кнопка «Выгрузить XML» видна только после
расчёта; в форме — пояснение, что выгрузка пересчитывает автоматически.
- **Тесты**: прогрессия авансов, лимит вычета 50%, аванс к уменьшению,
валидность XML против XSD, совпадение ИдФайл с именем файла.
## Осталось по УСН (TODO)
1. **Сверка с эталоном по ООО «ИЦП» «до рубля»** — не выполнена. Нужен
эталонный пример декларации УСН за год (заполненная форма или XML/PDF от
1С по нашей компании), как `NO_NDS` для НДС. Механика проверена на
синтетике и XSD, но сквозная сверка сумм с 1С не сделана. Калибровка
`rsbu_fresh` не эталон для УСН (содержит демо Q1/Q3 + калибровочный Q2).
2. **Состав вычета взносов (стр.140-143)** — требует уточнения. На
калибровке вычет за полугодие 611 291 против уплаченных взносов 295 881
(разница ~315 тыс — вероятно пособия / взносы за прошлый год). Источник
вычета — раздел IV КУДиР (`rsbu.kudir.summary.insurance`), который на
калибровке не заполнен; для сверки нужно разобрать состав уменьшения.
3. **Ставка/льгота региона (стр.124)** — обоснование пониженной ставки
(`КодЛьгот` в XSD) не реализовано; сейчас единая ставка из настроек.
Добавить при наличии региональной льготы.
4. **Признак НП «2» и разделы 2.1.2/4** (торговый сбор, расходы на ККТ) —
вне базового сценария; при необходимости добавить узлы РасчТоргСбор /
РасчСумККТ.

View File

@@ -0,0 +1,48 @@
# Декларация НДС (Этап 8) — статус
Модуль: `rsbu_fns_reporting`. Форма КНД 1151001, формат ФНС **5.12**
(`NO_NDS_1_003_00_05_12_01`). Сценарий — УСН + спецставка НДС 5%.
## Комплект (3 файла)
Декларация НДС = архив из трёх XML:
- **корневая** (`NO_NDS`): реквизиты + раздел «НДС» (СумУплНП/СумУпл164:
РеалТов5, ОплПредПост, СумНалВыч) + ссылки на файлы разделов
(КнигаПокуп/КнигаПрод), флаги ПризнНал8/9;
- **раздел 9** (`NO_NDS.9`): книга продаж — строки КнПродСтр;
- **раздел 8** (`NO_NDS.8`): книга покупок — строки КнПокСтр.
## Сделано
- **Модель** `rsbu.nds.declaration` (постоянная): расчёт из книг НДС
(`rsbu.vat.book.line`) и итогов (`rsbu.vat.summary`). Начисленный НДС
делится на реализацию (РеалТов5) и авансы (ОплПредПост) по признаку
наличия строки 76.АВ в проводке-источнике. Вычет — книга покупок.
- **XML** (`rsbu_nds_xml.py`): три файла, lxml, windows-1251, версия 5.12.
Корень — целые рубли, книги — с копейками. Ссылки КнигаПокуп/Прод на
имена файлов разделов. Валидация каждого файла по своей XSD 5.12.
Выгрузка — zip-архив из 3 файлов.
- **Свежесть**: `action_export_xml` всегда вызывает `action_compute`
(пересбор книг + итогов) перед формированием — данные не устаревают.
- **UI**: список/форма, меню «Отчётность ФНС → Декларация НДС».
- **Сверка с 1С (ref_1c) до рубля**: начислено 424319, вычет 130062, к
уплате 294257, РеалТов5 229174, авансы 195145 — совпадает с живой
декларацией. Все 3 файла валидны против XSD 5.12.
Транзиент-визард `rsbu.vat.declaration.wizard` (rsbu_vat) оставлен для
быстрого просмотра сумм; полная декларация с XML — здесь.
## Осталось / TODO
1. **База авансов (ОплПредПост/НалБаза)** — Δ 1 рубль с эталоном
(4098049 vs 4098050) от округления копеек по строкам. Некритично.
2. **Строки книг (номер/дата СФ, КВО, документ оплаты, частичный СФ)** —
заполняются упрощённо (КВО фикс 01/22, СФ из invoice_id/номера строки).
Для полного соответствия построчно с 1С нужна детализация СФ на строках
книги (номер/дата авансовой СФ, документ оплаты) — при необходимости
построчной сверки книг.
3. **Раздел 8: продавец = сама организация** (вычет собственного
авансового НДС при отгрузке) — верно для нашего сценария; для входящих
покупок с вычетом входного НДС (не наш случай на УСН) — доработать.
4. **Период**: код периода в корне вычисляется из квартала date_to
(21..24). Для годовой/иной отчётности — уточнить.