Přeskočit na hlavní obsah

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?