Модерна счетоводна система за български фирми, разработена съгласно българската счетоводна практика.
🚀 Основни възможности
📊 Счетоводство
- Сметкоплан – йерархична структура до 4 нива
- Журнални записи с автоматична проверка на дебит/кредит баланс
- Многовалутност с автоматично изтегляне на курсове от ЕЦБ
- Контрагенти – пълно управление на клиенти, доставчици и партньори
https://github.com/katehonz/sprint
💰 ДДС и данъци
- ДДС операции – покупки и продажби с автоматично изчисляване на данък
- ДДС декларации с генериране на файлове за НАП (DEKLAR.TXT, POKUPKI.TXT, PRODAJBI.TXT)
- Ставки по ЗДДС с пълен контрол върху данъчните категории
🏢 Дълготрайни активи (ДМА)
- Регистър на активи с пълна класификация
- Амортизации – двойна система (счетоводна и данъчна)
- Категории по ЗКПО – автоматизирано изчисляване по 7 категории
- Осчетоводяване на амортизационни разходи
🏪 Банки и плащания
- Банкови профили с пълна интеграция
- Импорт на банкови извлечения от различни формати
- Open Banking интеграция чрез Salt Edge API
- Автоматично осчетоводяване на банкови операции
📋 Справки и отчети
- Оборотна ведомост с филтри и групировки
- Главна книга с детайлна информация
- Хронологичен регистър на всички операции
- Справки по контрагенти с пълен анализ
🤖 AI интеграция
- Сканиране на документи чрез Azure Form Recognizer
- Автоматично разпознаване на фактури и счетоводни документи
- OCR обработка с висока точност
🏗️ Технологичен стек
Backend
- Java 21 с най-новите възможности
- Spring Boot 3.2.1 за микро-сервисна архитектура
- Spring GraphQL за модерен API
- PostgreSQL за надеждно съхранение на данни
- Flyway за версионно управление на базата данни
- Spring Security с JWT аутентикация
- Azure Form Recognizer за AI обработка
Frontend
- React 19 с модерни hooks
- TypeScript 5 за типова безопасност
- Vite за бърза разработка
- Tailwind CSS 4 за модерен дизайн
- Apollo Client 4 за GraphQL
- React Hook Form за форми
📁 Проектна структура
sp-ac-bg/
├── 📁 backend/ # Java Spring Boot приложение
│ ├── src/main/java/ # Java изходен код
│ ├── src/main/resources/ # Конфигурации и миграции
│ ├── Dockerfile # Docker конфигурация
│ └── pom.xml # Maven зависимости
├── 📁 frontend/ # React TypeScript приложение
│ ├── src/ # React компоненти
│ ├── public/ # Статични файлове
│ ├── Dockerfile # Docker конфигурация
│ └── package.json # NPM зависимости
├── 📁 docs/ # Документация
├── 📁 chart/ # Helm chart за Kubernetes
├── docker-compose.yml # Docker Compose конфигурация
├── Caddyfile.example # Caddy reverse proxy пример
└── README.md # Този файл
🛠️ Инсталация и стартиране
Предварителни изисквания
- Java 21 или по-нова
- Node.js 18+
- Docker и Docker Compose
- PostgreSQL 16+
1. Клониране на репозиторито
git clone <repository-url>
cd sp-ac-bg
2. Environment конфигурация
cp .env.example .env
# Редактирайте .env с вашите настройки
3. Стартиране с Docker (препоръчително)
docker-compose up -d
Приложението ще бъде достъпно на:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080/graphql
- GraphiQL Playground: http://localhost:8080/graphiql
4. Ръчно стартиране (разработка)
Backend:
cd backend
./mvnw spring-boot:run
Frontend (нов терминал):
cd frontend
npm install
npm run dev
🧪 Тестване
Backend тестове
cd backend
./mvnw test
Frontend тестове
cd frontend
npm run test
📚 Документация
Основна документация
- 📘 Frontend – React компоненти и архитектура
- 🦾 Backend – Spring Boot API и услуги
- 🗄️ База данни – Схема и миграции
- 🔌 API – GraphQL API документация
Функционални модули
- 💸 ДДС – ДДС операции и декларации
- 🏢 Дълготрайни активи – ДМА и амортизации
- 📊 Справки – Отчети и аналитични справки
- 🏦 Банки – Банкови операции и импорти
- 🌐 Open Banking – Salt Edge интеграция
- 👥 Потребители и права – Система за достъп
Ръководства
- 📖 Счетоводен наръчник – Работа със системата
- 🏭 Продукция – Продукционна среда
🔧 Конфигурация
Environment променливи
# База данни
DB_PASSWORD=your_password
DB_USER=postgres
# JWT
JWT_SECRET_KEY=your_jwt_secret_key
# CORS
CORS_ALLOWED_ORIGINS=https://yourdomain.com
# Azure AI (опционално)
AZURE_FORM_RECOGNIZER_ENDPOINT=your_endpoint
AZURE_FORM_RECOGNIZER_KEY=your_key
# Salt Edge (опционално)
SALTEDGE_APP_ID=your_app_id
SALTEDGE_SECRET=your_secret
GraphQL Playground
За的开发 среда, GraphiQL Playground е достъпен на http://localhost:8080/graphiql
🌍 Поддържани валути
Базова валута: EUR (евро)
Системата поддържа многовалутност с автоматично актуализиране на курсове от Европейската централна банка (ЕЦБ).
🔒 Безопасност
- JWT базирана аутентикация
- Spring Security конфигурация
- CORS защита
- SQL Injection защита чрез JPA
- Environment променливи за чувствителни данни
📈 Пътна карта
Планирани функционалности
- [ ] Мобилно приложение (React Native)
- [ ] Пълна интеграция с НАП електронни услуги
- [ ] Автоматичен обмен на данни с банки
- [ ] Складово управление
- [ ] Търгова дейност
- [ ] Пейрол модул
Технически подобрения
- [ ] Kubernetes deployment
- [ ] Monitoring и logging (ELK stack)
- [ ] Automated CI/CD
- [ ] Performance оптимизации
🤝 Допринасяне
Проектът е с проприетарен лиценз. За въпроси и предложения, моля свържете се с разработчиците.