- 1Tři způsoby, jak vytvořit integraci WooCommerce QuickBooks
- 2Proč synchronizace na úrovni objednávek narušuje vyrovnání
- 3Pracovní příklad
- 4„Je to open-source – bezplatný plugin by to měl zvládnout“
- 5Architektura, která funguje: Vyrovnávací účty, denní souhrny, řádky poplatků
- 6In LedgerPort, this architecture is a settings page
- 7Kdy plugin stačí – a kdy ne
- 8The engineering bar a sync layer should clear
- 9Jak to vypadá automatizovaně
- 10And when a webhook fails — because one will
- 11Daň za flexibilitu
Dostat objednávky do QuickBooks je snadná část. Tento průvodce je o části, kterou v popisu pluginu nenajdete: o tom, jak zajistit, aby účetnictví odpovídalo bankovnímu výpisu.
Ve vašem souboru QuickBooks Online je 1 400 nových faktur a každá z nich je správná.
Nainstalovali jste konektor, namapovali jste pár polí a sledovali jste, jak to funguje. Každá objednávka z WooCommerce dorazila do QBO se jménem zákazníka, položkami, dopravou, daní. Podle všech měřítek na stránce funkcí pluginu byla vaše integrace WooCommerce QuickBooks hotová.
Pak jste otevřeli bankovní výpis. Stripe v pondělí vložil 6 782,40 $. PayPal ve středu poslal 1 911 $. A ani jedna z těch 1 400 faktur – ani jedna – neodpovídá ani jednomu číslu. QuickBooks vás nyní žádá o spárování jedné platby s desítkami otevřených faktur, z nichž žádná se k ní nepřičítá.
Pokud jste se s tímto setkali, pravděpodobně jste udělali to, co většina majitelů obchodů: odinstalovali jste plugin, vrátili jste se k exportům CSV a dospěli jste k závěru, že celá kategorie je rozbitá. Není. Ale to, co vám bylo prodáno – synchronizace objednávek – nikdy nebyl skutečný problém.
Skutečným problémem je, že WooCommerce a váš bankovní účet popisují dvě různé reality a žádná synchronizace objednávek mezi nimi nepřekládá. Tento příspěvek vysvětluje proč, s čísly, a provádí nastavením, které skutečně vyrovnává.
Tři způsoby, jak vytvořit integraci WooCommerce QuickBooks
Obecně lze každý přístup zařadit do jedné ze tří kategorií.
1. Oficiální konektor QuickBooks. Vlastní konektor Intuit (postavený na starém enginu OneSaas) posílá objednávky z WooCommerce do QBO jako faktury nebo prodejní doklady. Je levný, je podporován společností Intuit a pro základní kopírování objednávek dělá to, co slibuje. Ví o objednávkách – co si zákazník koupil a co mu WooCommerce naúčtoval.
2. Specializované synchronizační pluginy. Nástroje jako MyWorks Sync jdou mnohem hlouběji: obousměrná synchronizace, granulární mapování polí, synchronizace zásob a zákazníků, odesílání v reálném čase. Pokud vaše podnikání funguje na základě jednotlivých faktur – velkoobchodní účty, B2B zákazníci, platby spojené s konkrétními osobami – je tato věrnost na úrovni jednotlivých objednávek skutečně cenná a MyWorks je v tom silný. Napsali jsme podrobné srovnání na LedgerPort vs. MyWorks, pokud tuto cestu zvažujete.
3. Manuální exporty CSV. Export objednávek z WooCommerce, úprava tabulky, ruční zadání účetních zápisů do QBO. Celková kontrola, nulové náklady na software a někde mezi dvěma a osmi hodinami měsíčně v závislosti na objemu – plus každá chyba, kterou udělá unavený člověk ve třetí hodině.
| Metoda | Co přenáší | Náklady | Odpovídá bance? |
|---|---|---|---|
| QuickBooks Connector | Objednávky → faktury/doklady | Nízké | Not on its own |
| Sync plugin (e.g., MyWorks) | Orders, customers, inventory | $ – $$ | Only with careful payout configuration |
| Manual CSV | Whatever you type | Your time | Only if you do the payout math yourself |
Notice what all three have in common: they start from order data. And order data is only half the dataset you need.
Proč synchronizace na úrovni objednávek narušuje vyrovnání
Here’s the structural problem, and it has nothing to do with which plugin you chose.
WooCommerce knows about orders: customer, items, totals, tax. It does not know what Stripe deducted in processing fees, when PayPal batched a payout, which refund from last week got netted against this week’s deposit, or what a chargeback fee did to Tuesday’s disbursement. That information lives with your payment gateways — a completely separate dataset, on a completely separate schedule.
Your bank feed, meanwhile, only ever sees the gateway’s side of the story: net deposits, batched on the gateway’s timeline. So when a sync tool copies orders into QBO, it’s faithfully recording a dataset your bank account will never confirm.
Pracovní příklad
Say your store takes 96 orders over a weekend, totaling $7,200 gross. WooCommerce reports this as three separate days of sales, and your order-level sync creates 96 invoices in QBO.
On Monday, Stripe sends one payout:
| Stripe payout — Monday | Částka |
|---|---|
| Gross weekend sales (96 orders) | $7,200.00 |
| Processing fees (2.9% + $0.30 × 96) | −$237.60 |
| Refunds (2 orders from last week) | −180,00 $ |
| Net deposit to your bank | $6,782.40 |
QuickBooks now holds 96 invoices totaling $7,200, spread across Friday, Saturday, and Sunday. Your bank feed holds one Monday deposit of $6,782.40. The $237.60 in fees exists nowhere in your books. The $180 in refunds belongs to orders that aren’t even in this weekend’s data. There is no combination of those 96 invoices that equals that deposit — the math is unmatchable by construction.
Multiply by every payout, every gateway, every month. That’s how you end up with 1,400 pristine invoices and a bank feed that agrees with none of them.
[IMAGE: Diagram showing WooCommerce order data and Stripe payout data as two separate streams, with the bank feed only connected to the payout stream — and the gap where fees and refund timing live]
At this point most people conclude one of three things: some decide they need to hire a bookkeeper, some go back to spreadsheets, and some realize the problem is architectural and fix the architecture. This section is for the third group.
„Je to open-source – bezplatný plugin by to měl zvládnout“
Let’s name the assumption directly, because it’s reasonable and it’s wrong.
WooCommerce is open-source, the ecosystem has a plugin for everything, and most of them are free or cheap. So the instinct is: a free plugin should handle QuickBooks too. And a free plugin can handle what plugins are good at — moving order data from one database to another. That part genuinely is a solved problem.
Ale vyrovnání není problém přenosu dat. Je to problém překladu mezi dvěma datovými sadami, které se neshodují v částkách (hrubá vs. čistá), načasování (datum objednávky vs. datum výplaty) a rozsahu (objednávky z tohoto víkendu vs. vrácení peněz z minulého týdne). Žádný plugin to nevyřeší rychlejším přesunem objednávek nebo přesnějším mapováním polí — nenastavili jste to špatně, ani vývojář pluginu. Nástroj vyřešil problém, kterému rozuměl. Problém, který skutečně máte, je větší než jeho model.
Architektura, která funguje: Vyrovnávací účty, denní souhrny, řádky poplatků
Řešením je struktura, kterou účetní používají po desetiletí, aplikovaná na brány. Tři komponenty: zúčtovací účet na bránu, denní souhrny místo faktur za objednávku a explicitní řádky poplatků na každé výplatě. Zde je manuální nastavení krok za krokem.
Vytvořte zúčtovací účet pro každou bránu. V QBO přidejte účet typu Ostatní krátkodobá aktiva s názvem „Stripe Clearing“, další pro „PayPal Clearing“ a jeden pro každou další bránu. Tento účet představuje peníze, které zákazníci zaplatili a které ještě nedosáhly vašeho bankovního účtu — což je přesně to, co to je.
Zaznamenávejte denní souhrny prodejů místo jednotlivých faktur. Jednou denně zaznamenejte jeden záznam na bránu: hrubé prodeje, slevy, vrácené částky, příjmy z dopravy a vybranou daň z prodeje. Zúčtovací účet za hrubou částku zaúčtujte na vrub; své příjmové, dopravní a daňové účty zaúčtujte na prospěch. Vaše výsledovka nyní ukazuje příjmy podle dne — což je vše, co potřebujete pro přípravu daní a analýzu marží — bez 96 osamocených faktur. (Pokud nastavujete příjmové a daňové účty od nuly, náš průvodce účetnictvím pro WooCommerce pokrývá celou strukturu účtové osnovy.)
Zaznamenejte každou výplatu jako účetní zápis, když dorazí. Zúčtovací účet za hrubou částku výplaty zaúčtujte na prospěch. Váš běžný účet za čistou zálohu zaúčtujte na vrub. Účet „Poplatky za zpracování obchodníkem“ za rozdíl v poplatcích zaúčtujte na vrub a vrácení peněz proti příjmům zaúčtujte. Použijeme-li příklad víkendu: kredit Stripe Clearing 7 200 $, debet běžného účtu 6 782,40 $, debet poplatků 237,60 $, vrácení 180 $ proti příjmům. Každý dolar má nyní své místo.
Spárujte vklad v bankovním výpisu. Protože řádek bankovního výpisu vašeho účetního zápisu je 6 782,40 $ a vklad je 6 782,40 $, QuickBooks je jedním kliknutím spáruje. Toto je okamžik, kdy se celá struktura vyplatí: vyrovnání se stává potvrzením namísto vyšetřování.
Sledujte zůstatek zúčtovacího účtu. Měl by se pohybovat blízko částky aktuálně přepravované bránou — několik dní prodejů, nic víc. Neustále rostoucí zůstatek znamená, že poplatky nebo vrácení peněz nejsou někde zaznamenány. Toto jediné číslo je váš systém včasného varování a je to první věc, kterou si dobrý účetní zkontroluje.
[OBRÁZEK: Vývojový diagram — denní souhrnné záznamy plynoucí do účtu Stripe Clearing, poté výplatní zápis rozdělený na Běžný účet (čistý) a Poplatky za zpracování (náklady), s párováním bankovního výpisu na konci]
Ručně provedená tato práce zabere schopnému účetnímu 30–60 minut na bránu týdně a každý krok je příležitostí k překlepu. Ale struktura je správná — a struktura je to, co vám žádný plugin pro synchronizaci objednávek nedá.
In LedgerPort, this architecture is a settings page
If those five steps sound like a lot of journal discipline, here’s the part worth knowing: in LedgerPort’s WooCommerce plugin, each component exists as configuration. The Payments tab of Sync Config auto-detects every payment gateway active on your store and assigns each one its own clearing account, with a default clearing account as the fallback for anything you haven’t configured. One clearing account per gateway isn’t journal gymnastics — it’s a dropdown per gateway.

Tax gets the same treatment: sales tax posts to a QuickBooks liability account you designate, and a rounding line item absorbs the cent-level differences between WooCommerce’s tax math and QuickBooks’ — the reconciliation papercut nobody warns you about. How orders post is one more dropdown: Sales Receipt for paid orders, Invoice when payment comes later, Estimate for quotes. And the taxonomy of sync methods is platform-general — the docs’ own guidance puts roughly 100+ orders a day as the point where per-order records stop being bookkeeping and start being sediment, which is exactly where daily summaries earn their keep.
None of this demands a configuration project, either. Per the docs’ own FAQ, every tab ships with sensible defaults — most stores can start syncing without touching Sync Config at all, and tighten the settings later as the books demand it.
Kdy plugin stačí – a kdy ne
Upřímná odpověď: někdy jsou nástroje na úrovni objednávky správnou volbou.
Synchronizační plugin na úrovni objednávky je pravděpodobně dostatečný, pokud: máte méně než zhruba 100–200 objednávek měsíčně a dokážete přehlédnout mezery; provozujete jednu bránu s jednoduchými, občasnými refundacemi; nebo vaše podnikání je založeno na fakturaci — velkoobchodní a B2B obchody, kde platby skutečně souvisí s konkrétními zákaznickými fakturami. V tomto posledním případě synchronizace na objednávku není chyba, ale požadavek, a nástroj jako MyWorks je přesně pro to určen.
Potřebujete vrstvu s vědomím výplat, pokud: provozujete více bran (Stripe plus PayPal je místo, kde většina obchodů překročí hranici); refundace a spory jsou týdenní realitou; váš objem činí položky na objednávku neovladatelnými; nebo účetní uzavírá vaše knihy měsíčně a očekává, že bankovní výpis bude odpovídat. V tu chvíli samotná data objednávek nemohou vytvořit vyrovnatelné knihy — bez ohledu na to, jak dobře se synchronizují.
Pokud se přikláníte k cestě s vědomím výplat, obvykle se objeví tři praktické námitky:
„Zvládne to mé předplatné?“ LedgerPort synchronizuje standardní data objednávek a zákazníků WooCommerce a obnovení předplatného přicházejí jako běžné objednávky, když je WooCommerce vytvoří — takže opakující se příjmy protékají stejným potrubím, nic zvláštního k nastavení.
„Co když synchronizace selže tiše?“ Synchronizace v reálném čase využívá webhooky WooCommerce a WooCommerce automaticky opakuje neúspěšná doručení. Pokud něco přesto proklouzne, stránka Ruční synchronizace uvnitř wp-admin na vyžádání odešle data — nikdy nečekáte na podporu, aby znovu poslala objednávku.
„Mohu provozovat několik obchodů proti jednomu účtu?“ Ano — každý připojený obchod se počítá jako jedno připojení proti limitu vašeho plánu, viditelné na stránce Připojení. Zbytek praktických otázek (kompatibilita HPOS, ukládání pověření, požadované uživatelské role) je zodpovězen v Začínáme s LedgerPort pro WooCommerce.
The engineering bar a sync layer should clear
There’s one more evaluation axis, and it’s the one plugin listings never show: what the software does to your store when it connects — and when it leaves. LedgerPort’s provisioning is automatic and transactional. Connecting creates a read-only WooCommerce REST API key — it reads your store, it doesn’t write to it — and registers 13 named webhooks covering orders, products, variations, customers, and refunds. If any provisioning step fails midway, everything already completed is rolled back automatically, so your store is never left half-configured.

The rest of the security posture is equally checkable: credentials are stored AES-256-CBC-encrypted using your site’s own WordPress security keys, connecting requires the manage_woocommerce capability (Administrators and Shop Managers), and LedgerPort never touches webhooks you created yourself. Disconnecting is just as clean — it deletes exactly the API key and webhooks it created, your store and orders are untouched, and your mappings survive for reconnection. A botched first attempt costs nothing.
The same discipline shows up when a sync goes wrong. Failures aren’t a silent gap or a PHP notice — they’re a named taxonomy with documented fixes: an expired QuickBooks token (the docs’ own pick for the most common sync error), an unmapped product, a duplicate entry, a missing required field. Each error states its cause and its recovery path. That, more than any feature checkbox, is the real boundary of “a plugin is enough”: it ends where unrecoverable, invisible failure begins.
Jak to vypadá automatizovaně
LedgerPort je postaven jako vrstva s vědomím výplat a podporuje WooCommerce spolu se Shopify. Připojuje se k vašemu obchodu *a* k vašim branám, poté automaticky spouští výše uvedenou architekturu: denní souhrny zaúčtované na clearingové účty bran, deníky výplat s rozepsanými poplatky, vklady, které přesně odpovídají vašemu bankovnímu výpisu. Nastavení trvá asi 15 minut a obchody s významným objemem hlásí úsporu hodin každý týden.
Zde je kompletní nastavení WooCommerce, od začátku do konce:
Nainstalujte plugin. Ve svém administrátorském rozhraní WordPress přejděte na Pluginy » Přidat nový plugin, vyhledejte LedgerPort, klikněte na Nainstalovat nyní, poté Aktivovat. Budete potřebovat HTTPS na svém webu a účet LedgerPort — kompletní návod k instalaci pokrývá oba předpoklady.
Run the Setup Wizard. After activation, LedgerPort opens the wizard automatically as a full-screen overlay. Click Connect to LedgerPort to begin.
Authorize the connection. You’re redirected to app.ledgerport.com to log in, pick the business you’re connecting, and click Authorize — then sent straight back to your WordPress admin.

- Let provisioning run. LedgerPort creates a WooCommerce REST API key with read access, registers webhooks for orders, refunds, products, and customers, and confirms the connection. If any step fails, everything rolls back automatically — no half-configured store. When it succeeds, you land on the LedgerPort Dashboard, connected.

From there, everything lives under a LedgerPort menu inside wp-admin — Dashboard, Mappings, Manual Sync, Audit Logs — so checking on the plumbing never means leaving WordPress. And the clearing-account structure from the previous section isn’t a separate configuration project: it’s the Daily Summary sync method, one dropdown among five, chosen once.

And when a webhook fails — because one will
Real-time sync rides on webhooks, and webhooks are honest about their nature: sooner or later, a delivery fails. The question most free plugins can’t answer is what happens next. Here the answer has layers. WooCommerce itself retries failed webhook deliveries automatically. Anything that still slips through doesn’t vanish — it surfaces as a per-record sync status, recoverable from the Manual Sync page inside wp-admin.

The workflow is checkbox selection, then Push Selected or Push All, then a live progress modal that shows each record land or fail — with a reason attached, not just a red icon. And the detail that makes catch-up after an outage safe: pushing is guaranteed not to duplicate. Already-synced records are skipped automatically, and re-pushing a failed record creates or updates the QuickBooks entry rather than posting it twice. “Select everything, push all” after a bad week can’t double-post revenue.

Two more facts from the FAQ that belong here: the plugin is fully compatible with WooCommerce’s High-Performance Order Storage with zero extra configuration, and — as covered above — WooCommerce Subscriptions renewals ride the same pipeline as regular orders. Historical backfill uses this same page, too, which means “we’ve been on spreadsheets all year” is an import, not a data-entry project: page through the year, push, watch the statuses turn green.
The trade-off, stated plainly: LedgerPort summarizes. It won’t sync individual customer records or manage inventory in QBO — if your business needs per-customer invoices, a tool like MyWorks remains the stronger fit, and the comparison walks through that line honestly.
Pricing starts at free — up to 30 orders a month, one store, manual sync on demand — so you can watch a real payout reconcile before paying anything. Growth runs from $25/month with daily automated sync; Scale, from $67/month, adds real-time sync plus the payout journals and fee handling this post is about. Every paid plan carries a 14-day unconditional money-back guarantee — not a trial, a full refund, no questions asked.
Daň za flexibilitu
Here’s the tragicomic truth about WooCommerce: the thing that makes it great is the thing that breaks your books.
You can run any gateway, any checkout plugin, any subscription extension, any regional payment method — and the ecosystem will support all of it. That flexibility is genuinely why you chose the platform. But it also means your financial data originates from four or five systems that never agreed to speak the same language, and the accounting layer inherits every one of those dialects.
Ekosystém pluginů vám to nemůže strukturovat, protože struktura je přesně to, co otevřený ekosystém nenastavuje. Struktura tedy musí žít na účetní vrstvě: zúčtovací účty, denní souhrny, řádky poplatků. To je daň, kterou platíte za flexibilitu všude jinde – a je to spravedlivá cena, jakmile přestanete očekávat, že ji za vás zaplatí synchronizace objednávek.
Těch 1400 faktur z úvodního nastavení nebylo špatně. Pouze odpovídaly na otázku, kterou vaše banka nikdy nepoložila. Pokud chcete, aby vaše účetnictví odpovídalo na tu správnou otázku, propojte svůj obchod WooCommerce s LedgerPort – bezplatný plán pokrývá vaši první platbu a v okamžiku, kdy se vklad shoduje, budete vědět, že architektura funguje.
