Initial commit: User documentation for Invoicing.top

- security.md: Why Invoicing.top is the most secure invoicing platform
  - MongoDB audit log for full change tracking
  - Bank certificate attachment for IBAN verification
- bank-certificate-guide.md: Step-by-step guide for setting up bank certificates
- README.md: Documentation index

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
InvTop VPS
2026-01-08 00:01:29 +00:00
commit 0ff74d1af2
3 changed files with 323 additions and 0 deletions

25
README.md Normal file
View File

@@ -0,0 +1,25 @@
# Invoicing.top - Потребителска документация
## Съдържание
### Сигурност
- [security.md](security.md) - Защо Invoicing.top е най-сигурната платформа за фактуриране
### Ръководства
- [bank-certificate-guide.md](bank-certificate-guide.md) - Как да настроите банков сертификат
---
## За платформата
Invoicing.top е модерна платформа за онлайн фактуриране, проектирана с фокус върху:
- **Сигурност** - Пълен audit log и банкови сертификати
- **Лесна употреба** - Интуитивен интерфейс
- **Интеграции** - UBL XML експорт за ERP системи, Wise интеграция
- **Съответствие** - Българско законодателство, VIES проверки
## Контакт
- Уебсайт: https://invoicing.top
- Поддръжка: support@invoicing.top

146
bank-certificate-guide.md Normal file
View File

@@ -0,0 +1,146 @@
# Ръководство: Банков сертификат за сигурност
## Какво е банков сертификат?
Банковият сертификат е PDF документ, който потвърждава, че дадена банкова сметка принадлежи на вашата фирма. Той се прикачва автоматично към всяка изпратена фактура и позволява на получателите да верифицират легитимността на сметката.
## Какви документи може да използвате
### Вариант 1: Банково удостоверение (препоръчително)
- Официален документ от банката
- Съдържа: име на фирмата, IBAN, BIC
- Издава се от всяка банка при поискване
- Обикновено с банков печат или електронен подпис
### Вариант 2: Декларация с квалифициран електронен подпис (КЕП)
- Документ, подписан с КЕП на МОЛ или упълномощено лице
- Декларира, че сметката е на фирмата
- Може да бъде създаден от вас
### Вариант 3: Извлечение от търговски регистър + банкови данни
- Комбинация от документи, потвърждаващи собствеността
---
## Стъпки за настройка
### Стъпка 1: Подгответе PDF документа
1. Вземете банково удостоверение от банката, или
2. Създайте декларация и я подпишете с КЕП
**Изисквания към файла:**
- Формат: PDF
- Максимален размер: 5 MB
- Да съдържа IBAN-а, за който се отнася
### Стъпка 2: Отворете настройките на банковата сметка
1. Влезте в системата
2. Отидете на **Настройки** (иконка зъбче в менюто)
3. Изберете таб **Банкови сметки**
4. Намерете сметката, за която искате да добавите сертификат
5. Кликнете на иконката **молив** (Редактирай)
### Стъпка 3: Качете сертификата
1. В диалоговия прозорец за редакция, превъртете надолу
2. Намерете секция **Банково удостоверение (PDF)**
3. Кликнете **Избери файл** и изберете PDF-а
4. Кликнете **Качи**
5. Ще видите потвърждение "Сертификатът е качен успешно"
### Стъпка 4: Проверете
- В таблицата с банкови сметки ще видите зелена икона (щит) до сметката
- Това означава, че сертификатът е активен
---
## Как работи при изпращане на фактура
1. Създавате фактура и избирате банкова сметка
2. Финализирате фактурата
3. Кликвате **Изпрати по имейл**
4. Въвеждате имейл адреса на получателя
5. Кликвате **Изпрати**
**Получателят получава:**
- Фактура (PDF)
- Банково удостоверение (PDF) - автоматично прикачено
- (Опционално) UBL XML файл за ERP системи
---
## Подмяна на сертификат
Ако банката ви издаде нов сертификат или искате да качите актуализиран:
1. Отворете редакция на банковата сметка
2. Кликнете **Изтрий** до текущия сертификат
3. Качете новия файл
**Важно:** Старият сертификат се изтрива автоматично. Системата съхранява само един сертификат на сметка.
---
## Изтриване на сертификат
Ако искате да спрете прикачването на сертификат:
1. Отворете редакция на банковата сметка
2. Кликнете **Изтрий** до сертификата
3. Потвърдете изтриването
След това фактурите ще се изпращат само с PDF на фактурата (без сертификат).
---
## Често задавани въпроси
### Трябва ли задължително да кача сертификат?
Не, това е опционална функция за допълнителна сигурност. Ако не качите сертификат, фактурите ще се изпращат нормално, само без допълнителния файл.
### Мога ли да кача различни сертификати за различни сметки?
Да, всяка банкова сметка има свой отделен сертификат.
### Какво става ако сменя банката?
Качете нов сертификат за новата банкова сметка. Старите фактури (вече изпратени) не се променят.
### Виждат ли клиентите ми кой е качил сертификата?
Не, клиентите виждат само съдържанието на PDF файла (банковото удостоверение).
### Мога ли да видя история на качените сертификати?
Всяка промяна се записва в audit log-а. Администраторът може да види кога е качен/изтрит сертификат.
---
## Примерен текст за декларация (ако ползвате КЕП)
```
ДЕКЛАРАЦИЯ
Долуподписаният/ата [Име на МОЛ], в качеството си на
управител на [Име на фирмата], ЕИК [номер],
ДЕКЛАРИРАМ, ЧЕ:
Банкова сметка с IBAN: [IBAN номер]
в [Име на банката], BIC: [BIC код]
е официална банкова сметка на дружеството и всички плащания
към нея са валидни плащания към [Име на фирмата].
Дата: [дата]
Електронен подпис: [КЕП]
```
---
## Техническа информация
- Файловете се съхраняват криптирано в облачно хранилище (S3-compatible)
- Път: `bank-certificates/{company_id}/{IBAN}.pdf`
- При ново качване старият файл се презаписва
- Максимален размер: 5 MB
- Поддържан формат: само PDF

152
security.md Normal file
View File

@@ -0,0 +1,152 @@
# Сигурност на Invoicing.top
## Защо Invoicing.top е най-сигурната платформа за онлайн фактуриране
При онлайн фактурирането съществуват два основни риска за сигурността, които могат да доведат до сериозни финансови загуби:
1. **Неоторизирана промяна на документи** - вътрешен служител или външен нападател променя данни във фактура
2. **Подмяна на банкова сметка** - злонамерено лице променя IBAN-а, към който да се извършват плащания
Invoicing.top адресира и двата проблема с технически решения, които правят измамите практически невъзможни.
---
## 1. Пълен одит лог на всички промени (MongoDB Audit Trail)
### Проблемът
При повечето системи за фактуриране, ако някой промени данни в документ, няма начин да се проследи кой, кога и какво точно е променил. Това създава възможност за:
- Промяна на суми след издаване на фактура
- Промяна на банкови данни
- Изтриване или модификация на редове
### Нашето решение
Всяка операция върху документ се записва в **MongoDB audit log** с пълна история:
- **Кой** е направил промяната (потребител, IP адрес)
- **Кога** е направена (timestamp с милисекунди)
- **Какво точно** е променено (старо и ново състояние)
- **Тип операция** (създаване, редакция, изтриване, статус)
### Какво означава това за вас
- Невъзможно е да се "скрие" промяна
- При съмнение за измама - пълна проследимост
- Съответствие с регулаторни изисквания за одит
- Защита при вътрешни злоупотреби
---
## 2. Банково удостоверение с електронен подпис
### Проблемът
Най-опасната атака при онлайн фактуриране е **подмяната на банкова сметка**:
1. Злонамерен служител (или хакер) променя IBAN-а в системата
2. Фактурите се изпращат с фалшива банкова сметка
3. Клиентите плащат на грешна сметка
4. Парите отиват при измамника
Тази атака е особено опасна при големи суми и е трудна за откриване, защото фактурата изглежда легитимна.
### Нашето решение
Към всяка банкова сметка може да се прикачи **PDF сертификат** от банката или с електронен подпис:
- **Банково удостоверение** - официален документ от банката, потвърждаващ титуляря на сметката
- **Документ с квалифициран електронен подпис (КЕП)** - подписан от МОЛ или упълномощено лице
### Как работи
1. В настройките на банковата сметка качвате PDF сертификат
2. При изпращане на фактура по имейл, сертификатът се **прикачва автоматично**
3. Получателят може да верифицира, че банковата сметка е легитимна
### Какво означава това за вашите клиенти
- Могат да проверят, че IBAN-ът принадлежи на вашата фирма
- Ако някой подмени сметката, сертификатът няма да съвпада
- Допълнителен слой на доверие при големи плащания
---
## Защо тези мерки са важни
### Реални сценарии на измами
**Сценарий 1: Вътрешен служител**
> Счетоводител с достъп до системата променя банковата сметка на своя лична. Издава фактури за големи суми. Клиентите плащат на грешна сметка.
*С Invoicing.top:* Промяната се записва в лога. Сертификатът не съвпада с новата сметка. Измамата се открива веднага.
**Сценарий 2: Компрометиран акаунт**
> Хакер получава достъп до акаунта и променя IBAN-а. Изпраща фактури от името на фирмата.
*С Invoicing.top:* Audit логът показва необичайна активност. Банковият сертификат е за оригиналната сметка и няма да бъде прикачен.
**Сценарий 3: Man-in-the-middle атака**
> Нападател прихваща имейла с фактурата и подменя PDF-а с фалшив IBAN.
*С Invoicing.top:* Банковият сертификат е отделен файл с електронен подпис - не може да бъде фалшифициран.
---
## Препоръки за максимална сигурност
1. **Качете банков сертификат** за всяка активна сметка
2. **Използвайте документ с КЕП** за най-висока степен на защита
3. **Преглеждайте логовете** периодично за необичайна активност
4. **Ограничете достъпа** - давайте права само на необходимите потребители
5. **Информирайте клиентите** да проверяват сертификата при големи плащания
---
## Технически детайли
### Audit Log структура (MongoDB)
```json
{
"id": "65a5b3c7d8e9f0123456789a",
"action": "DOCUMENT_UPDATE",
"entityType": "Document",
"entityId": 12345,
"userId": 789,
"username": "accountant@company.bg",
"companyId": 1,
"companyName": "Моята Фирма ЕООД",
"timestamp": "2024-01-15T14:32:15.123",
"ipAddress": "192.168.1.100",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
"oldValues": {
"bankAccountId": 5,
"bankAccountIban": "BG80BNBG96611020345678"
},
"newValues": {
"bankAccountId": 8,
"bankAccountIban": "BG12UNCR70001522345678"
},
"description": "Промяна на банкова сметка",
"success": true
}
```
### Банков сертификат
- Формат: PDF
- Съхранение: S3-compatible object storage (криптирано)
- Именуване: `bank-certificate-{IBAN}.pdf`
- Прикачване: автоматично при изпращане на фактура
---
## Сравнение с други платформи
| Функционалност | Invoicing.top | Други платформи |
|----------------|---------------|-----------------|
| Пълен audit log | Да (MongoDB) | Частично или не |
| Банков сертификат | Да (автоматично) | Не |
| Проследимост на промени | Пълна | Ограничена |
| Верификация на IBAN | Да | Не |
| Защита от вътрешни измами | Да | Не |
---
## Заключение
Invoicing.top е проектирана с мисъл за сигурността от самото начало. Комбинацията от **пълен audit log** и **банкови сертификати** прави платформата най-сигурният избор за онлайн фактуриране в България.
При въпроси относно сигурността: support@invoicing.top