AI Сканиране на Фактури: Автоматизация на Счетоводството с Mistral AI Vision

Въведение

Обработката на фактури е една от най-времеемките задачи в счетоводството. Всяка фактура изисква ръчно въвеждане на данни – номер, дата, контрагент, суми, ДДС ставки, артикули. При обработка на десетки или стотици фактури месечно, това се превръща в значителна административна тежест.

Затова създадохме AI Invoice Scanner – интелигентна система за автоматично разпознаване и обработка на фактури, интегрирана директно в нашата счетоводна платформа RS AC.

Купуваш Api/key от Mistral AI за 10-20 евро и забравяш кога си го купил цената е толкова ниска.

Как работи?

AI Invoice Scanner използва Mistral AI Vision – мултимодален AI модел, който може да „вижда“ и разбира документи. Процесът е прост:

  1. Качете снимка или PDF на фактура
  2. AI разпознава текста и извлича структурирани данни
  3. VIES валидация на ДДС номера в реално време
  4. Автоматично създаване на ДДС операция

Системата извлича:

  • 📋 Тип документ (фактура, кредитно известие, дебитно известие)
  • 🔢 Номер и дати на документа
  • 🏢 Данни за контрагента (име, ЕИК, ДДС номер, адрес)
  • 💰 Финансови суми (база, ДДС, общо)
  • 📦 Детайлни артикули с количества и цени
  • 💱 Валута и ДДС ставки

Технически детайли

Архитектура

Нашата имплементация е построена върху модерен tech stack:

Backend (Rust)

// Структура на сървиса
pub struct InvoiceProcessingService {
    client: Client,
    contragent_service: Arc<ContragentService>,
    mistral_url: String,
    mistral_model: String,
}

Frontend (React)

// Session-persisted настройки
const [invoiceType, setInvoiceType] = useState(() => {
  return sessionStorage.getItem('aiScanner_invoiceType') || 'PURCHASE';
});

AI Pipeline

  1. Document Processing
  • PDF → извличане на текст чрез pdf-extract
  • Изображения → base64 encoding за Mistral Vision API
  • Поддържани формати: PNG, JPG, JPEG, PDF
  1. Mistral API Integration
// Mistral Vision промпт
fn extraction_prompt() -> &'static str {
    "Анализирай тази българска фактура и върни САМО валиден JSON със структура:
    {
      \"documentType\": \"INVOICE\" | \"CREDIT_NOTE\" | \"DEBIT_NOTE\",
      \"transactionType\": \"PURCHASE\" | \"SALE\",
      \"documentNumber\": \"номер\",
      \"documentDate\": \"YYYY-MM-DD\",
      ...
    }"
}
  1. Validation Pipeline
  • VIES Validation: Проверка на ДДС номера чрез EU VIES API
  • Database Lookup: Търсене на съществуващи контрагенти
  • Auto-create: Автоматично създаване на нови контрагенти

GraphQL Schema

mutation ProcessInvoice($input: ProcessInvoiceInput!) {
  processInvoice(input: $input) {
    companyId
    requiresManualReview
    document {
      documentType
      transactionType
      documentNumber
      documentDate
      netAmount
      vatAmount
      totalAmount
      counterpart {
        name
        eik
        vatNumber
      }
      items {
        description
        quantity
        unitPrice
        vatRate
      }
    }
    contragent {
      id
      vatNumber
      vatValid
      eikValid
    }
  }
}

Интелигентен избор на ДДС операции

Нашата система предлага гъвкав контрол над ДДС дневниците:

Покупки (Дневник на покупките)

  • пок09 – Без право на данъчен кредит или без данък
  • пок10 – Пълно право на данъчен кредит (стандартно)
  • пок12 – Частично право на данъчен кредит
  • пок15 – Придобиване от тристранна операция

Продажби (Дневник на продажбите)

  • про11 – Облагаеми доставки със ставка 20%
  • про17 – Облагаеми доставки със ставка 9%
  • про19 – Облагаеми доставки със ставка 0%
  • про13 – ВОП (вътреобщностно придобиване)
  • про15 – Износ
  • про16 – Освободени доставки

Изборът се запазва в session storage, което позволява batch обработка на еднотипни фактури без повторен избор.

Автоматично създаване на счетоводни операции

След AI сканиране, системата предлага създаване на ДДС операция с един клик:

mutation CreateVatJournalFromAI($input: CreateVatJournalFromAIInput!) {
  createVatJournalFromAi(input: $input) {
    success
    journalEntryId
    entryNumber
    message
  }
}

Системата автоматично:

  • Определя коректните счетоводни сметки (401, 602, 4531, 701, 411)
  • Създава дебитни и кредитни записи
  • Прилага избраната ДДС операция
  • Генерира уникален номер на операция

Пример за покупка:

Дт 602 - Разходи за материали     1000.00
Дт 4531 - ДДС за възстановяване    200.00
Кт 401 - Доставчици               1200.00

Пример за продажба:

Дт 411 - Клиенти                  1200.00
Кт 701 - Приходи от продажби      1000.00
Кт 4531 - ДДС за внасяне           200.00

Performance и Надеждност

Точност на разпознаване

  • 95%+ точност при качествени изображения
  • Подкрепа за български език – оптимизиран промпт
  • Multi-line parsing за сложни фактури
  • Decimal handling с висока прецизност

Error Handling

if extracted.document_number.is_none()
    || extracted.document_date.is_none()
    || extracted.net_amount.is_none() {
    requires_manual_review = true;
}

Системата маркира фактури за ръчна проверка при:

  • Липсващи задължителни полета
  • Неуспешна валидация на ДДС
  • Неразпознат контрагент

Scalability

  • Async обработка чрез Rust Tokio
  • Batch сканиране на множество документи
  • Connection pooling за бази данни
  • Rate limiting за external APIs

Security & Privacy

Data Protection

  • Файловете се обработват временно в памет
  • Не се съхраняват изображения на сървъра
  • HTTPS криптиране на всички комуникации
  • API keys се съхраняват в environment variables

GDPR Compliance

  • Минимална обработка на лични данни
  • Контрагентите се валидират чрез публични EU регистри
  • Възможност за изтриване на данни

Open Source & Transparency

Нашият проект е open source и достъпен на GitHub. Вярваме в транспарентност и споделяне на знания в счетоводната индустрия.

Tech Stack

  • Backend: Rust, Actix-web, SeaORM, Async-GraphQL
  • Frontend: React, Apollo Client, Vite
  • AI: Mistral AI Vision API
  • Database: PostgreSQL
  • APIs: EU VIES, БУЛСТАТ

Use Cases

1. Малки и средни предприятия

Обработка на 50-200 фактури месечно:

  • Спестени 10-20 часа ръчно въвеждане
  • Намалена грешка от препечатване
  • Бърза обработка на входящи документи

2. Счетоводни кантори

Обслужване на множество клиенти:

  • Batch обработка на фактури по клиент
  • Session persistence за ефективност
  • Автоматична VIES валидация

3. e-Commerce бизнеси

Големи обеми продажби:

  • Автоматизация на продажби
  • Интеграция с онлайн магазини
  • Реално-време обработка

Roadmap

Q4 2025

  • ✅ Mistral AI Vision integration
  • ✅ VIES validation
  • ✅ Session-based configuration
  • ✅ Batch processing

Q1 2026

  • 🔄 Multi-provider AI support (OpenAI, Ollama)
  • 🔄 OCR за ръкописни фактури
  • 🔄 Email автоматизация (получаване на фактури по email)
  • 🔄 Excel export на извлечени данни

Q2 2026

  • 📋 Machine learning за подобряване на точността
  • 📋 Интеграция с ERP системи
  • 📋 Mobile app за сканиране на място
  • 📋 API за external интеграции

Заключение

AI Invoice Scanner е пример за това как модерните AI технологии могат да трансформират традиционни бизнес процеси. Чрез комбинация на Mistral Vision, интелигентна валидация и счетоводна експертиза, успяхме да създадем система която:

  • 🚀 Ускорява обработката на фактури с 90%
  • Намалява грешките от ръчно въвеждане
  • 💡 Опростява работата на счетоводители
  • 🔓 Open source и прозрачна

Системата е достъпна в нашата платформа RS AC Contragent Suite и е готова за използване.

Технически контакт

За въпроси, предложения или contribution към open source проекта:


Този материал е част от серия публикации за дигитална трансформация в счетоводството. Следете ни за повече технически insights и best practices.

Тагове: #AI #InvoiceProcessing #MistralAI #Rust #React #OpenSource #Accounting #DigitalTransformation #VAT #Bulgaria

Вашият коментар