AI funkce

API integrace: jak propojit účetní systém s e‑shopem a CRM

API integrace bez bolesti: nauč se propojit účetní systém s e‑shopem a CRM, automatizuj faktury, platby i sklad. Prakticky, s tipy a příklady.

Ing. Martin Procházka
11 min čtení
4 zobrazení
API integrace
účetnictví
e‑shop
CRM
automatizace

Sedíš nad výpisem z banky a ručně spáruješ platby s objednávkami? Fakt super zábava, že. A pak ti přijde reklamace, protože doklad z CRM neodpovídá faktuře v účetnictví. Hádáš se s tabulkou a přísaháš, že to příště uděláš líp. Přesně. Řeší to API integrace.

API integrace ti propojí účetní systém s e‑shopem a CRM tak, aby doklady, platby a zákazníci běhali sami. Bez kopírování, bez chyb, bez drama.

Co přesně znamená API integrace a proč tě má zajímat?

API integrace je automatizované napojení dvou (nebo více) systémů přes jejich rozhraní – Application Programming Interface. Prakticky: e‑shop vytvoří objednávku, CRM přidá zákazníka, účetnictví vystaví fakturu, banka pošle notifikaci o platbě a všechno se samo spáruje. Když to funguje, nepoznáš, že se „něco” děje. Prostě jedeš.

  • Méně ruční práce. Mnohem méně.
  • Méně chyb. A když se něco pokazí, víš kde.
  • Lepší cash flow – faktury odchází hned, párování plateb je automat.
  • UX zákazníka: bleskové potvrzení objednávky, faktura v mailu, status v klientské zóně.
  • Tip: Nezačínej integrací všeho najednou. Vem největší bolest – třeba faktury z objednávek – a zautomatizuj jen to. Za týden uvidíš, jak moc se ti uvolnily ruce.

    Jak funguje datový tok mezi e‑shopem, CRM a účetnictvím?

    Bez mapy se ztratíš. Tohle je základní flow, které držím roky:

  • E‑shop přijme objednávku → uloží ji a přes webhook pošle událost.
  • CRM vytvoří/aktualizuje kontakt a obchodní případ.
  • Účetní systém z objednávky vygeneruje zálohovku nebo rovnou fakturu.
  • Platební brána/banka pošle informaci o úhradě.
  • Účetnictví spáruje platbu s fakturou, e‑shop/CRM aktualizuje stav.
  • Sklad se průběžně synchronizuje (rezervace, výdejky, dobropisy).
  • Tvoje role? Definovat přesná pravidla a edge casy: kdy záloha, kdy rovnou daňový doklad, jak řešit nedostupné zboží, co s dobírkou, co s B2B cenami.

    Účetní export — živá ukázka

    Jak připravit API integraci krok za krokem (bez chaosu)

    1) Seznam dat a odpovědností

    Rozděl si, co je „master” a co je „slave”:

  • Zákazníci: master CRM (nejbohatší profil), účetnictví = evidence pro faktury.
  • Produkty: master e‑shop (SKU, ceny), účetnictví čte kvůli fakturaci a skladovým pohybům.
  • Objednávky: master e‑shop, účetnictví generuje doklady.
  • Platby: master banka/platební brána, účetnictví je spotřebitel.
  • 2) Mapa polí a transformace

    Udělej si mapu polí. Jinak budeš lovit bugy týdny. Příklad u faktury:

  • order.number → invoice.external_id
  • customer.email → invoice.customer.email
  • shipping.total_with_vat → invoice.items[shipping].unit_price_gross
  • payment_method → invoice.tags[payment]
  • 3) Události a webhooky

    Definuj, co spouští akci:

  • order.created → vytvoř zálohovou fakturu
  • order.paid → vystav daňový doklad/konvertuj zálohu
  • order.cancelled → vystav dobropis
  • product.updated → aktualizuj ceník v účetnictví (nebo jen DPH sazbu)
  • 4) SLA a retry strategie

    Chceš robustní integraci? Bez retry mechanizmu to nedáš.

  • Exponenciální backoff (např. 1s, 2s, 4s, 8s, 5 pokusů)
  • Idempotence (unikátní request-id, aby nevznikly duplicitní faktury)
  • Dead-letter queue (ruční dořešení chyb)
  • Tip: Loguj korelační ID napříč systémy (order_id, invoice_id, payment_id). Když zákazník zavolá, dohledáš vše za minutu.

    Jaké scénáře API integrace dávají největší smysl?

    Fakturace z objednávek e‑shopu

    „Objednávka zaplacena? Faktura do minuty v mailu.” Pokud to tak nemáš, zbytečně pálíš důvěru zákazníků a čas účetní. Scénář:

  • order.created → proforma (zálohovka)
  • order.paid → daňový doklad
  • refund.requested → dobropis
  • Automatické párování plateb

    Přijatá platba = aktualizace stavu faktury. Ideálně i s variabilním symbolem a částkou.

  • bank.webhook → match podle VS/částky
  • partial payment → částečné uhrazení
  • overpayment → přeplatek = kredit nebo vratka
  • Synchronizace kontaktů z CRM

    Když obchod uzavře deal v CRM, přeskočí se data do účetnictví bez ručního přepisu. Přenos IČ, DIČ, adres, fakturační měny, splatnosti podle segmentu.

    Sklad a B2B ceníky

    U B2B to drží cash flow pohromadě. Mnoho firem dělá chybu: integruje pouze objednávky a zapomene na rezervace a stavy skladu. Výsledek? Přesliby, dobropisy, nasupení zákazníci.

    Co si pohlídat u DPH, měn a číselníků

    DPH sazby a pravidla

  • Sjednoť číselníky DPH: 0 %, 12 %, 21 % – stejné kódy napříč systémy.
  • VAT režimy: reverse charge, OSS/IOSS, mimo EU. Každý režim = jasné pravidlo v integraci.
  • Zaokrouhlování: definuj přesnost a směr (na haléře, bankerské, nahoru).
  • Měny a kurzy

  • Master měny je objednávka. Účetnictví přebírá měnu a přepočet dělá kurz k DUZP.
  • Kurzy: ČNB denní vs. fixní z e‑shopu. Rozhodni a drž konzistentně.
  • Číselné řady a idempotence

  • Číselnou řadu drž v účetnictví. E‑shop posílá pouze externí reference.
  • Idempotentní klíč: invoice.external_id = order.number. Nikdy duplicitně.
  • Příklad datových struktur a endpointů (ilustrační)

    Ne každý účetní systém je stejný, ale logika je podobná. Níže je zkrácený příklad requestu na vystavení faktury na základě objednávky.

    POST /api/v1/invoices
    {
      "external_id": "ORDER-2026-000123",
      "customer": {
        "name": "ACME s.r.o.",
        "ic": "12345678",
        "dic": "CZ12345678",
        "email": "fakturace@acme.cz",
        "address": {
          "street": "U Příkladu 12",
          "city": "Praha",
          "zip": "11000",
          "country": "CZ"
        }
      },
      "items": [
        {"sku": "SKU-001", "name": "Tričko černé M", "qty": 2, "unit_price": 350.0, "vat_rate": 21},
        {"sku": "SHIP-PPL", "name": "Doprava PPL", "qty": 1, "unit_price": 89.0, "vat_rate": 21}
      ],
      "currency": "CZK",
      "payment_method": "card",
      "due_days": 0,
      "issue_date": "2026-07-13",
      "tax_point_date": "2026-07-13",
      "tags": ["eshop", "paid"],
      "note": "Objednávka #100123 z eshopu"
    }

    Webhook o přijetí platby může vypadat třeba takto:

    POST /webhooks/bank/payment
    {
      "payment_id": "BNK-998877",
      "vs": "2026000123",
      "amount": 789.0,
      "currency": "CZK",
      "paid_at": "2026-07-13T10:32:11Z",
      "reference": "ORDER-2026-000123"
    }

    Bezpečnost a právo: jak nepřepálit GDPR a klíče

  • OAuth2 nebo tokeny s omezeným rozsahem. Klíče nikdy nenechávej v kódu, použij secret manager.
  • IP whitelist na webhook endpointy. Podpis událostí (HMAC) a časové okno.
  • GDPR: minimalizuj data – na faktuře není potřeba celé CRM CRM story, jen povinné náležitosti.
  • Audit log: kdo co kdy poslal/vystavil/smazal. Věř mi, jednou se to hodí.
  • Monitoring: jak poznáš, že integrace funguje, i když spíš

  • Health-check endpointy a metriky (počet zpracovaných událostí, chybovost, latence).
  • Alerty při pádu webhooku, růstu chyb 5xx/4xx, nárůstu DLQ.
  • Metriky byznysu: čas od order.created → invoice.issued → payment.matched.
  • Tabulka pro rychlou orientaci:

    MetrikaCílCo když to zhorší?
    Čas vystavení faktury od objednávky< 60 sZkontroluj frontu a idempotenci
    Podíl ručních zásahů< 2 % dokladůPřidej pravidla pro edge casy
    Chybovost webhooků< 0,5 %Aktivuj retry a podpisy událostí
    Nesoulad DPH vs. ceník0Sjednoť číselníky a validace

    Implementace v praxi: tři modely, které dávají hlavu a patu

    A) Přímé napojení e‑shop → účetnictví

  • Rychlé, levné, minimum mezivrstev.
  • Minus: při růstu narazíš na limity a edge casy.
  • Kdy: malý/mid e‑shop, 1–2 země, standardní DPH.

    B) E‑shop + integrační mezivrstva + účetnictví + CRM

  • Mezivrstva (např. serverless nebo iPaaS) řeší mapování, retry, DLQ.
  • Škáluje, zvládne různé systémy najednou.
  • Kdy: rosteš, máš více prodejních kanálů, marketplaces.

    C) Event-driven architektura

  • Každá událost je zpráva (order.created, invoice.issued). Systémy jsou méně provázané.
  • Nejrobustnější, ale potřebuje disciplínu a monitoring.
  • Kdy: B2B, zahraničí, více měn, vlastní sklady.

    Testování: jak ověřit, že faktury sedí a platby se párují

  • Sandbox účty ve všech systémech. Vytvoř si 10–20 scénářů (dobírka, částečná úhrada, sleva, storno, OSS, reverse charge).
  • Golden dataset: vzorové objednávky s ručním výpočtem DPH.
  • Contract testy pro API (schémata, povinná pole, verze).
  • E2E test: objednávka → faktura → bankovní platba → účetní deník.
  • Jak to celé rozjet v Doklad.ai (best practice)

    Jasně, teď prakticky. Běžný scénář, který nasazuju klientům:

  • V Doklad.ai vytvoř API klíč s rozsahem „Faktury, Kontakty, Webhooky”.
  • V e‑shopu nastav webhook na order.created a order.paid, směruj na integrační endpoint.
  • V integrační vrstvě mapuj data na schéma Doklad.ai a používej idempotentní external_id.
  • Zapni webhook banky nebo platební brány a ověř podpis.
  • Otestuj sandboxem: 5 objednávek, 2 vrácení, 1 částečná úhrada.
  • Přepni do produkce, sleduj metriky, ladíš edge casy první týden.
  • Pro přenos dokladů do účetnictví externí účetní můžeš použít exporty:

  • Export účetních deníků (ISDOC/CSV/JSON)
  • Export saldokonta
  • Export skladových pohybů
  • A následný import v účetním softwaru, pokud nejde přímé API napojení.

    Nejčastější chyby, které vídám u API integrací (a jak jim předejít)

  • Dvojité doklady kvůli chybějící idempotenci. Léčba: external_id a kontrola před vložením.
  • Špatné sazby DPH po synchronizaci ceníků. Léčba: pouze jedna autorita pro DPH kódy.
  • Závislost na jednom člověku. Léčba: dokumentace, runbook, ownership v týmu.
  • Webhook bez podpisu. Léčba: HMAC + rotace klíčů.
  • Ignorovaný retry. Léčba: fronta, backoff, DLQ, alerty.
  • Příklady pravidel, co si zapiš do integrační logiky

  • Pokud payment_method = COD (dobírka), vystav fakturu až po potvrzení převzetí.
  • Pokud country != CZ a VAT_ID je platné, aplikuj reverse charge na služby.
  • Pokud sleva > 50 %, kontrola minimální marže a ruční approval.
  • Pokud shipping = Zásilkovna a weight > 10 kg, změň dopravce a pošli notifikaci.
  • Minimalistický governance: kdo za co ručí

  • Business owner: definuje pravidla (DPH, měny, splatnost, workflow storna).
  • Tech owner: API klíče, retry, monitoring, incidenty.
  • Účetní: kontrola vzorku dokladů, nastavení číselných řad, DPH přiznání.
  • Bez těchto tří rolí končí integrace v šedé zóně „nějak to funguje”, což je přesně to, co nechceš.

    Jak navázat banku a spárování plateb

    Napojení banky přes API nebo PSD2 konektory ti uzavře smyčku. Platba dorazí, faktura se označí jako uhrazená, CRM zavře deal.

  • Základ: variabilní symbol = order number nebo invoice number.
  • Fallback: fuzzy matching podle částky a účtu plátce.
  • Vratky: tvorba dobropisu a odeslání bankovního příkazu ke schválení.
  • Když chceš komfort, přidej i notifikace do Slacku/Teams:

  • Nová úhrada nad 50 000 Kč
  • Nezaplacená faktura 3 dny po splatnosti
  • Výkon a limity API: ať tě netrápí throttling

  • Respektuj rate‑limits, dávkuj požadavky (batch 50–200 položek podle API).
  • Cache referenčních dat (sazby DPH, produkty) na 5–15 minut.
  • Pagination u exportů – táhni jen změny dle updated_since.
  • Webhooky jsou signál, ne transport dat – data si doťáhni přes GET detailu.
  • Kolik to stojí a kdy se integrace zaplatí?

    Upřímně: záleží na rozsahu. Ale čísla mám rád:

  • 1000 objednávek/měsíc, ruční vystavení a párování 2–3 min/objednávka.
  • Automatizace ušetří 35–45 hodin měsíčně.
  • Při sazbě 600 Kč/h je to 21–27 tisíc Kč/měsíc. Integrace je rázem levná.
  • Závěrem: API integrace není luxus, je to nutnost

    Ruční práce v účetnictví a e‑shopu je daň za odkládání. API integrace ti dá rychlost, méně chyb a klid v hlavě. Začni jedním tokem (objednávka → faktura), přidej platby a CRM, a za měsíc nebudeš chtít zpátky. A když budeš chtít jistotu, Doklad.ai ti s tím pomůže – od webhooků po exporty.

    Klíčové slovo dne? API integrace. Ať ti vydělává, ne překáží.

    Časté otázky

    Jak propojit účetní systém s e‑shopem, když nemám programátora?

    Můžeš použít iPaaS nástroje (Make, Zapier) nebo hotové konektory. Začni jednoduchým tokem: objednávka → faktura. Až to poběží, přidej párování plateb. Když narazíš na limit, oslov integrátora na pár hodin.

    Jak vyřešit párování plateb bez přímého bankovního API?

    Využij exporty výpisů (CSV) a denní import do účetnictví. Shodu hlídej podle VS a částky, chybějící párování řeš pravidly. Lepší je ale webhook od platební brány, který přijde okamžitě.

    Co když mám objednávky v EUR a účetnictví v CZK?

    Fakturuj v měně objednávky a v účetnictví ulož i kurz k DUZP. Rozdíly z kurzu řeš účetními zápisy. Hlavně měj jasně daný zdroj kurzu (ČNB vs. fixní) a používej ho konzistentně.

    Jak ošetřit duplicitní faktury při výpadku e‑shopu?

    Používej idempotentní external_id (typicky číslo objednávky) a před vytvořením dokladu v účetnictví vždy ověř, zda už záznam s tímto ID neexistuje. Zabráníš tak duplicitám i při retriích.

    Kdy vystavit zálohovou fakturu a kdy rovnou daňový doklad?

    U on‑line plateb klidně rovnou daňový doklad po potvrzení platby. U dobírky a bankovního převodu je jistější zálohovka a konverze na daňový doklad po úhradě. Snížíš riziko storen a dobropisů.

    Co když měním sazby DPH u produktů v e‑shopu?

    Zaveď jediný zdroj pravdy pro DPH kódy a synchronizuj je jedním směrem. Při změně DPH vždy spusť validační job, který zkontroluje, že sazba existuje i v účetnictví, jinak požadavek zamítni s chybou.

    Přečtěte si také

    Využijte umělou inteligenci pro automatizaci vaší fakturace.

    Související články

    Užitečné nástroje