Или как си направим ДДС модул на счетоводната програма с AI
Изтеглете този файл разрхивайте това е папка с инструкции , в подпапка nap _examples поставете ДДС файлове от старата ви програма или подадени вече в НАП – покупки, продажби декларация VIES . Поставете папката в папката на проекта . Кажете от къде къде да вземе информацията за вашата фирма в настройки на фирмата за ДДС декларацията , добавете пълмощник и управител с ЕГН
1. Въведение
Управлението на ДДС (Данък Добавена Стойност) в България е строго регулиран процес, който изисква генерирането на специфични текстови файлове в точно определен формат (fixed-width) и кодировка (Windows-1251). За всеки софтуерен инженер или счетоводител, целта е автоматизация: от първичния документ (фактура) до крайните файлове за подаване в портала на НАП.
В тази статия ще разгледаме структурата на един ДДС модул и как да инструктираме изкуствен интелект (AI) да ни помогне в разработката му.
2. Анатомия на ДДС модула за България
Един стандартен ДДС модул се състои от три основни компонента:
- Дневник на покупките (
POKUPKI.TXT): Регистър на всички получени доставки. - Дневник на продажбите (
PRODAJBI.TXT): Регистър на всички извършени доставки. - Справка-декларация (
DEKLAR.TXT): Обобщен документ, който сумира данните от дневниците в специфични „клетки“ (напр. кл. 01 за облагаеми доставки с 20%).
Технически изисквания:
- Формат: Фиксирана ширина на колоните (Fixed-width text). Всеки символ има точно определена позиция.
- Кодировка: Windows-1251 (CP1251). Използването на UTF-8 ще доведе до грешка при валидация в НАП.
- Разделител на редове:
CRLF(Windows стил).
3. Как да „накараме“ AI да ни напише ДДС модул?
За да получите работещ код от AI (като GPT-4, Claude или Gemini), трябва да преминете през няколко етапа на инструктиране (Prompt Engineering).
Етап 1: Дефиниране на структурата на данните
Не казвайте просто „напиши ми ДДС модул“. Вместо това подайте схемата:
„Напиши ми клас на [Language – напр. Python/TypeScript], който представлява запис в ДДС дневник за продажби. Полетата трябва да включват: Номер на документ (20 символа), Дата, ИН на контрагент (15 символа), Име (50 символа), Данъчна основа 20%, ДДС 20%.“
Етап 2: Логика за форматиране (Padding)
Най-трудната част е подравняването. Инструктирайте AI така:
„Създай функция
to_fixed_width(text, length), която допълва текста с интервали отдясно до достигане наlength. Ако текстът е по-дълъг, трябва да бъде отрязан.“
Етап 3: Кодиране и експорт
„Напиши метод за експорт на списък от тези записи към файл
PRODAJBI.TXT. Важно е файлът да бъде записан в кодировкаwindows-1251и всяка сума да бъде форматирана с 2 знака след запетаята (напр. 100.00).“
4. Пример за „Перфектния Промпт“ (Master Prompt)
Ако искате AI да изгради цялата архитектура, използвайте следния детайлен промпт:
Промпт:
„Действай като Senior Backend Engineer. Трябва да разработим модул за генериране на ДДС декларации за НАП (България).Спецификации:
- Създай модели за
VatPurchaseEntryиVatSalesEntryс полета за документ №, дата, ЕИК на контрагент, име на контрагент и суми за ДО и ДДС (20%, 9%, 0%).- Реализирай логика за сумиране на тези записи в обект
VatDeclaration, който изчислява клетките:
- Клетка 01: Сума на ДО 20% от продажби.
- Клетка 02: Сума на ДДС 20% от продажби.
- Клетка 31: Сума на ДО с право на пълен данъчен кредит (покупки).
- Клетка 40: Общо начислен ДДС.
- Клетка 41/42: Резултат (за внасяне или възстановяване).
- Напиши генератор за
DEKLAR.TXT, който е текстов файл с фиксирана ширина, където всяка клетка заема 15 символа, а заглавната част съдържа ИН на фирмата (15) и Период YYYYMM (6).- Осигури конвертирането на крайния низ към Windows-1251.
Използвай чисто обектно-ориентиран подход и добави коментари на български език.“
5. Специфични „капани“ и как да ги избегнем
- Кодове на документи: Уверете се, че AI знае за кодовете (01 – Фактура, 02 – Дебитно известие, 03 – Кредитно известие). Кредитните известия винаги влизат с отрицателен знак в сумите, но като положителни числа в дневника (в зависимост от софтуера за подаване, но стандартно сумите са със знак).
- Валидация на ЕИК: Добавете проверка за валидност на Булстат/ДДС номер (алгоритъмът за проверка на 9 и 13-цифрени кодове).
- Закръгляне: НАП изисква сумите да са точно до втория знак. Използвайте типа
Decimal(в Python) или цент (Integer) за изчисленията, за да избегнете грешки от плаваща запетая (float).
6. Примери за файлове
В подпапката nap_examples/ сме приложили реални структури на файловете:
DEKLAR.TXT– Пример за справка-декларация.POKUPKI.TXT– Дневник на покупките с един примерен запис.PRODAJBI.TXT– Дневник на продажбите с един примерен запис.
Тези файлове могат да бъдат използвани като референция при тестване на вашия нов ДДС модул.
Автор: AI Assistant
Дата: 16 Март 2026