Datové struktury parsování faktur
Tato část dokumentace detailně popisuje datové struktury používané v modulu pro parsování faktur.
InvoiceLikeItemDto
Tato třída reprezentuje jednotlivou položku faktury. Obsahuje všechny relevantní atributy položky včetně:
- Názvu a popisu
- Množství a měrné jednotky
- Jednotkové ceny a celkové částky
- Informací o DPH
Klíčové vlastnosti
name: Název položkydescription: Podrobný popisquantity: Množstvíunit: Měrná jednotkaunitPrice: Jednotková cenatotal: Celková částkataxAmount: Částka DPHwithTaxes: Příznak zda cena obsahuje DPH
Metody
toArray(): Převede DTO na asociativní pole- Magické metody pro přístup k vlastnostem (
__get,__set)
ParsedData
Tato třída slouží jako kontejner pro všechna zpracovaná data z faktury. Umožňuje:
- Ukládání atributů hlavní entity (faktury)
- Správu souvisejících entit (dodavatelé, kontakty)
- Validaci unikátnosti záznamů
Klíčové vlastnosti
entityType: Typ entity (např. 'SupplierInvoice')attributes: Atributy entityrelatedEntities: Pole souvisejících entituniqueFields: Pole unikátních identifikátorů
Metody
addRelatedEntity(): Přidá související entituisEntityDuplicate(): Kontroluje duplicitu entitytoRaw(): Exportuje data do polefromRaw(): Načte data z poleapply(): Uloží data do databáze
Technické informace
InvoiceLikeItemDto
class InvoiceLikeItemDto {
public ?string $name = null;
public ?string $description = null;
public ?float $quantity = null;
// ... další vlastnosti ...
}
ParsedData
class ParsedData {
protected string $entityType;
protected array $attributes = [];
protected array $relatedEntities = [];
// ... další vlastnosti ...
}
Mapování polí
Modul používá několik mapování pro převod mezi zdrojovými daty a entitami:
getMainInvoiceFieldsMap(): Mapuje hlavní pole fakturygetAccountFieldsMap(): Mapuje pole účtugetStandardItemFieldMap(): Mapuje pole položek faktury