From 0ff74d1af223e587ef1a19de86ef8acea95c5f80 Mon Sep 17 00:00:00 2001 From: InvTop VPS Date: Thu, 8 Jan 2026 00:01:29 +0000 Subject: [PATCH] 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 --- README.md | 25 +++++++ bank-certificate-guide.md | 146 ++++++++++++++++++++++++++++++++++++ security.md | 152 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 323 insertions(+) create mode 100644 README.md create mode 100644 bank-certificate-guide.md create mode 100644 security.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a0b16b2 --- /dev/null +++ b/README.md @@ -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 diff --git a/bank-certificate-guide.md b/bank-certificate-guide.md new file mode 100644 index 0000000..5add568 --- /dev/null +++ b/bank-certificate-guide.md @@ -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 diff --git a/security.md b/security.md new file mode 100644 index 0000000..019a646 --- /dev/null +++ b/security.md @@ -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