Přejít na hlavní obsah
Base umí fakturu buď vystavit sám, nebo naopak převzít hotovou fakturu vystavenou externě (typicky ve vašem ERP/účetním systému) a napojit ji na objednávku.

Vystavení faktury v Base

addInvoice vystaví fakturu k objednávce podle zvolené číselné řady.
ParametrTypPopis
order_idintID objednávky.
series_idintID číselné řady — seznam řad získáte metodou getSeries.
vat_ratetextNepovinné. "DEFAULT" (dle číselné řady), "ITEM" (sazba dle položky objednávky), "EXPT"/"ZW" (osvobozeno od DPH), "NP", "OO" (reverse charge), nebo konkrétní číslo 0–100.
{ "order_id": 4553562, "series_id": 1 }
Odpověď vrací invoice_id, se kterým dále pracujete (stažení přes getInvoiceFile, přehled přes getInvoices).

Nahrazení fakturou z externího systému

Pokud fakturu vystavujete ve vlastním ERP (a nechcete duplicitně řešit číslování v Base i mimo něj), použijte addOrderInvoiceFile — nahradí standardní Base fakturu vaším vlastním PDF (případně XML u zemí, kde je to povolené, např. Brazílie).
ParametrTypPopis
invoice_idintID faktury v Base (musí už existovat — založená např. přes addInvoice).
filetextPDF (nebo XML) v base64, s povinným prefixem "data:" na začátku řetězce.
external_invoice_numbervarchar(30)Číslo faktury z vašeho systému — přepíše číslo přidělené Base.
{
  "invoice_id": 153845,
  "file": "data:4AAQSkZJRgABA[...]",
  "external_invoice_number": "FV/2024/001"
}

Doporučený postup

  1. Ve vašem ERP vznikne faktura (číslo, PDF).
  2. V Base založíte fakturu k objednávce přes addInvoice (potřebujete jen platnou series_id — konkrétní čísla/sazby nejsou v tuto chvíli podstatná, protože je za chvíli přepíšete).
  3. Zavoláte addOrderInvoiceFile s invoice_id z kroku 2, přiložíte PDF z ERP a nastavíte external_invoice_number na skutečné číslo z vašeho systému.
  4. Odeslání faktury dál do marketplace (pokud to daná integrace podporuje) se typicky váže na konkrétní status objednávky — nastavuje se v detailu dané integrace, podobně jako u přepravních čísel. Časování odesílání (dávky, ne instantně) je popsané v Automatizace a webhooky.
Pokud máte složitější logiku číselných řad (různá střediska, různé země, různé DPH režimy), zvažte řízení této logiky přes extra pole namísto natvrdo zapsaných pravidel v integraci — je to snazší na údržbu. Netriviální scénáře doporučujeme probrat s implementačním oddělením.