Přeskočit na hlavní obsah
Všechny sbírkyDokumentace REST APIPokročilé příkazy
Generování faktur ze smluv přes API
Generování faktur ze smluv přes API

Jak generovat faktury ze smluv přes REST API?

Petr Pech avatar
Autor: Petr Pech
Aktualizováno před více než rokem

Přes REST API (i přes webové rozhraní) lze vygenerovat faktury ze smluv (buďto všech nebo jedné konkrétní). Jde o jednoduché volání přes PUT nebo POST:

/c/firma/smlouva/generovani-faktur.xml

Vygeneruje faktury pro všechny smlouvy

/c/firma/smlouva/1/generovani-faktur.xml

Vygeneruje faktury pro smlouvu s ID 1

Analogicky je možné generovat přijaté faktury z dodavatelských smluv:

PUT /c/firma/odberatelska-smlouva/generovani-faktur.xml

Parametry

Požadavky je možné doplnit volitelným query parametrem datumGenerovani ve formátu ISO 8601 (YYYY-MM-DD) s výchozí hodnotou aktuální datum.

Například:

PUT /c/firma/smlouva/generovani-faktur.xml?datumGenerovani=2023-03-01

Výsledek

Při volání přes REST API má odpověď (ve formátu XML) následující podobu:

<?xml version="1.0"?>
<winstrom version="1.0">
<operation>Generov&#xE1;n&#xED; faktur</operation>
<success>ok</success>
<messages>
<message>Počet úspěšně vygenerovaných faktur: 1</message>
</messages>
<errors>
<error>...</error>
</errors>
</winstrom>

Element success může nabývat hodnot ok, partial, failed a unknown:

ok

Vygenerování faktur proběhlo v pořádku (ale nemusely být vygenerovány žádné faktury, pokud to nebylo potřeba)

partial

Pro některé smlouvy proběhlo vygenerování faktur v pořádku, ale u jiných smluv došlo k chybě

failed

Nebyly vygenerovány žádné faktury, u některých smluv došlo k chybě

unknown

Nemělo by nikdy nastat

Elementy result obsahují odkazy na vytvořené doklady, message hlášení o úspěchu (nejvýše jedno), error chybová hlášení (jedno pro každou smlouvu, u které došlo k chybě).

Odpověď

Generování faktur ze smluv vrací ve výsledku odkazy na vytvořené faktury, odpověď může vypadat například takto:

<winstrom version="1.0">
<operation>Generování faktur</operation>
<success>ok</success>
<results>
<result>
<ref>/c/testovaci_2/faktura-vydana/1503</ref>
</result>
</results>
<messages>
<message>Počet úspěšně vygenerovaných faktur: 1</message>
</messages>
</winstrom>

Žurnál smluv

Po vygenerování faktur ze smluv lze přes API sledovat i žurnál generace. Naleznete jej na endpointu /smlouva-zurnal. Například pomocí URL adresy https://demo.flexibee.eu/c/demo/smlouva-zurnal.xml?detail=full.

Výsledkem je například takový XML soubor:

<winstrom version="1.0">
<smlouva-zurnal>
<id>2</id>
<datCas>2019-11-18T09:20:57.413+01:00</datCas>
<transakceK showAs="Ruční generace">operaceZurnalSmlouvy.manualGenerace</transakceK>
<pocetOk>1</pocetOk>
<pocetErr>0</pocetErr>
<chyby></chyby>
<uzivatel>code:admin</uzivatel>
</smlouva-zurnal>
</winstrom>
Dostali jste odpověď na svou otázku?