Přehled parsování faktur
Tato dokumentace popisuje implementaci parsování faktur v systému EspoCRM. Modul umožňuje automatické zpracování faktur od dodavatelů, extrakci klíčových dat a jejich uložení do systému ve strukturované podobě.
Hlavní funkce
- Automatické zpracování faktur: Modul dokáže analyzovat faktury v různých formátech a extrahovat z nich klíčové informace jako číslo faktury, datum vystavení, dodavatele, položky faktury a celkové částky.
- Integrace s účty: Automaticky propojuje faktury s existujícími účty v systému na základě identifikačních údajů (IČO).
- Správa položek faktury: Každá položka faktury je detailně zpracována včetně množství, jednotkové ceny, DPH a celkové částky.
- Validace duplicit: Systém kontroluje duplicity faktur a jejich položek na základě unikátních identifikátorů.
Základní workflow
- Příjem dat: Faktura je přijata ve formě strukturovaných dat (např. JSON).
- Zpracování hlavičky faktury: Extrahují se základní údaje jako číslo faktury, datum vystavení, splatnost a měna.
- Zpracování dodavatele: Informace o dodavateli jsou propojeny s existujícím účtem nebo vytvoří nový záznam.
- Zpracování položek: Každá položka faktury je analyzována a převedena na strukturovaný formát.
- Uložení do systému: Všechna data jsou uložena do příslušných entit v EspoCRM.
Závislosti
Modul spoléhá na následující komponenty EspoCRM:
- Entity
SupplierInvoicepro ukládání faktur - Entity
Accountpro správu dodavatelů - ORM vrstvu pro práci s databází
- Logovací systém pro sledování chyb
Technické informace
Hlavní třídy
InvoiceLikeProvider: Abstraktní základní třída pro parsování fakturSupplierInvoiceProvider: Konkrétní implementace pro faktury dodavatelůParsedData: Třída pro reprezentaci zpracovaných datInvoiceLikeItemDto: Data Transfer Object pro položky faktury
Klíčové metody
process(): Hlavní metoda pro zpracování fakturysetInvoiceData(): Nastaví data faktury včetně položekupdateSellerInformation(): Zpracuje informace o dodavateliupdateInvoiceItemLists(): Zpracuje seznam položek faktury
Datové struktury
Modul pracuje s následujícími hlavními datovými strukturami:
receivedData: Vstupní data faktury ve formě asociativního poleparsedData: Instance třídyParsedDataobsahující zpracované údajeInvoiceLikeItemDto: Objekty reprezentující jednotlivé položky faktury