Přehled jádra parsování faktur
Tato část systému poskytuje základní funkcionalitu pro zpracování faktur pomocí umělé inteligence. Je navržena jako modulární systém, který umožňuje snadné rozšíření o nové typy faktur a jejich specifické zpracování.
Hlavní funkce
- Automatické parsování faktur: Systém dokáže automaticky extrahovat data z faktur a převádět je do strukturovaného formátu.
- Modulární architektura: Podporuje různé typy faktur prostřednictvím poskytovatelů (providers), které lze snadno přidávat.
- Integrace s EspoCRM: Data z faktur jsou automaticky ukládána do systému EspoCRM jako entity.
- Konfigurovatelné unikátní pole: Umožňuje definovat, která pole jsou klíčová pro identifikaci duplicitních záznamů.
Závislosti
- EspoCRM Core: Využívá základní funkce EspoCRM jako je správa entit, konfigurace a metadata.
- InjectableFactory: Pro dynamické vytváření instancí poskytovatelů.
- Metadata systém: Pro získávání konfigurace poskytovatelů.
Pracovní postup
- Získání dat: Data faktury jsou načtena z entity
AiParsingRecord. - Výběr poskytovatele: Na základě typu entity je vybrán příslušný poskytovatel pomocí
ProviderFactory. - Zpracování dat: Poskytovatel extrahuje a transformuje data do strukturovaného formátu.
- Uložení výsledků: Data jsou uložena zpět do entity
AiParsingRecorda označena jako dokončená.
Technické informace
Třídy a rozhraní
ProviderFactoryAware: Rozhraní pro třídy, které vyžadují přístup kProviderFactory.ProviderFactorySetter: Trait pro snadné nastaveníProviderFactory.AbstractProvider: Abstraktní základní třída pro všechny poskytovatele parsování.ProviderFactory: Tovární třída pro vytváření instancí poskytovatelů.
Klíčové metody
AbstractProvider::__construct: Inicializuje poskytovatele a načte výchozí unikátní pole z konfigurace.AbstractProvider::process: Abstraktní metoda pro vlastní zpracování dat.AbstractProvider::applyParsedData: Uloží zpracovaná data a označí záznam jako dokončený.ProviderFactory::create: Vytvoří instanci poskytovatele na základě typu entity.
Konfigurace
Unikátní pole pro každý typ entity lze konfigurovat v nastavení EspoCRM pod klíčem aiParsingAlwaysUseDefaultOrGroupFields.
Výjimky
BadRequest: Vyvolána, když není nalezen poskytovatel pro daný typ entity.LogicException: Vyvolána při chybě v datech nebo konfiguraci.