Pohoda mServer integrace 2026: kompletní návod pro účetní

TL;DR: Pohoda mServer ve zkratce
- Pohoda mServer = HTTP/HTTPS server zabudovaný v Pohodě, který umožňuje externí systémům posílat XML data (faktury, doklady, číselníky) přímo do Pohody
- Komu se hodí: účetní firmy s desítkami klientů, integrace s e-shopem / pokladnou / AI OCR (DokladBot, Wflow)
- Konfigurace: Pohoda → Soubor → Nastavení → Komunikace → mServer (zapnout, port, autentizace)
- Encoding: mServer používá Windows-1250 pro response, pozor při parsování v moderních systémech
- Číselná řada: pokud XML neobsahuje
<inv:number>, Pohoda přidělí doklad z výchozí číselné řady uživatele, pod kterým import běží - HTTPS: doporučeno, vyžaduje certifikát nasazený na reverzní proxy před mServerem
Co je Pohoda mServer
Pohoda mServer je HTTP server module, který běží uvnitř Pohody na klientském PC. Externí systémy (AI OCR, e-shopy, pokladny) mohou přes něj POST XML s daty, Pohoda je naimportuje stejným způsobem, jako kdyby uživatel klikl "Import z XML".
Use cases:
- E-shop posílá nové objednávky/faktury do účetnictví
- AI OCR posílá zpracované faktury od dodavatelů
- Pokladní systém posílá tržby z provozovny
- Účetní firma centralizuje import pro 10+ klientů z jednoho ERP
Ruční import z XML vs. mServer
| Ruční import z XML | mServer | |
|---|---|---|
| Kdo import spouští | Uživatel v Pohodě kliknutím na Import z XML | Externí systém přes HTTP POST |
| Kdy se hodí | Jednorázové dávky, pár dokladů měsíčně | Průběžný tok dokladů z e-shopu, pokladny nebo AI OCR |
| Formát dat | XML podle schématu Stormware | Stejné XML, odeslané na endpoint /xml |
| Autentizace | Přihlášený uživatel Pohody | HTTP Basic, dedikovaný uživatel Pohody s právem importu |
| Odezva | Protokol o importu v Pohodě | XML odpověď v kódování Windows-1250 |
| Dostupnost | Všechny verze Pohody | Všechny verze Pohody, ne cloudová Pohoda bez prostředníka |
Srovnání obou cest z pohledu účetní firmy rozebírá článek export faktur do Pohody: XML vs. mServer.
Jak zapnout mServer v Pohodě
Krok 1: Aktivace
- Otevři Pohoda
- Menu Soubor → Nastavení → Komunikace → mServer
- Zaškrtni "Povolit mServer"
- Nastav:
- Port (default 8080, ale lze změnit, např. 8443 pro HTTPS)
- Adresa serveru (typicky
localhostnebo0.0.0.0pokud chceš externí přístup) - Autentizace: vyber typ (HTTP Basic je standardní)
Krok 2: Uživatelské oprávnění
mServer používá uživatele Pohody pro autentizaci:
- Pohoda → Soubor → Účetní jednotka → Přístupová práva
- Vytvoř nebo vyber uživatele (např.
api) - Přiděl roli s právy na import dat (faktury, doklady)
- Hesla nastav silné (mServer ho přijímá v base64)
Krok 3: Otevřít port v firewall
Windows Defender / Norton / jiný AV/FW:
- Povol příchozí TCP na portu 8080 (nebo zvolený)
- Pokud bude mServer dostupný přes internet, otevři port v routeru (port forwarding)
Doporučení: pokud má být mServer veřejně dostupný, postav před něj reverzní proxy s HTTPS terminací a seznamem povolených IP adres.
Krok 4: Test připojení
Z terminálu:
curl -u api:HesloApi123 http://localhost:8080/status
Response by měl být HTML status page od Pohody.
XML formát pro import faktury (DokladBot example)
DokladBot generuje takový XML:
<?xml version="1.0" encoding="Windows-1250"?>
<dat:dataPack
xmlns:dat="http://www.stormware.cz/schema/version_2/data.xsd"
xmlns:inv="http://www.stormware.cz/schema/version_2/invoice.xsd"
xmlns:typ="http://www.stormware.cz/schema/version_2/type.xsd"
id="dp01"
ico="12345678"
application="DokladBot"
version="2.0"
note="Import přijatých faktur"
period="current">
<dat:dataPackItem id="ifa01" version="2.0">
<inv:invoice version="2.0">
<inv:invoiceHeader>
<inv:invoiceType>receivedInvoice</inv:invoiceType>
<inv:date>2026-05-26</inv:date>
<inv:dateTax>2026-05-26</inv:dateTax>
<inv:dateKHDPH>2026-05-25</inv:dateKHDPH>
<inv:dateDue>2026-06-09</inv:dateDue>
<inv:symVar>20260042</inv:symVar>
<inv:text>Dodávka kancelářských potřeb</inv:text>
<inv:partnerIdentity>
<typ:address>
<typ:company>Dodavatel s.r.o.</typ:company>
<typ:ico>87654321</typ:ico>
<typ:dic>CZ87654321</typ:dic>
<typ:street>Hlavní 123</typ:street>
<typ:city>Praha</typ:city>
<typ:zip>110 00</typ:zip>
</typ:address>
</inv:partnerIdentity>
<inv:paymentType>
<typ:paymentType>draft</typ:paymentType>
</inv:paymentType>
<inv:account>
<typ:ids>FIO</typ:ids>
</inv:account>
</inv:invoiceHeader>
<inv:invoiceDetail>
<inv:invoiceItem>
<inv:text>Papír A4 ks balík</inv:text>
<inv:quantity>10</inv:quantity>
<inv:unit>ks</inv:unit>
<inv:rateVAT>high</inv:rateVAT>
<inv:homeCurrency>
<typ:unitPrice>120.00</typ:unitPrice>
<typ:price>1200.00</typ:price>
<typ:priceVAT>252.00</typ:priceVAT>
</inv:homeCurrency>
</inv:invoiceItem>
</inv:invoiceDetail>
<inv:invoiceSummary>
<inv:roundingDocument>none</inv:roundingDocument>
<inv:homeCurrency>
<typ:priceHighSum>1200.00</typ:priceHighSum>
<typ:priceHighSumVAT>252.00</typ:priceHighSumVAT>
<typ:price3Sum>0.00</typ:price3Sum>
<typ:price3SumVAT>0.00</typ:price3SumVAT>
<typ:priceNoneSum>0.00</typ:priceNoneSum>
</inv:homeCurrency>
</inv:invoiceSummary>
</inv:invoice>
</dat:dataPackItem>
</dat:dataPack>
POST na mServer:
curl -u api:HesloApi123 \
-H "Content-Type: application/xml" \
-H "STW-Application: DokladBot" \
-H "STW-Authorization: Basic YXBpOkhlc2xvQXBpMTIz" \
--data-binary @faktura.xml \
http://localhost:8080/xml
Response v Windows-1250 s výsledkem importu.
Příklad: co se stane s fakturou z ukázky
Faktura od Dodavatel s.r.o. (IČO 87654321) na 10 balíků papíru po 120 Kč: základ 1 200 Kč, DPH 21 % 252 Kč, celkem 1 452 Kč, variabilní symbol 20260042, splatnost 9. 6. 2026.
- Externí systém pošle XML výše na
/xmls hlavičkou HTTP Basic. - Pohoda založí přijatou fakturu do agendy Přijaté faktury v aktuálním účetním období (
period="current"). - Číslo dokladu přidělí z výchozí číselné řady uživatele
api, protože XML<inv:number>neobsahuje. - Datum odpočtu se nastaví podle
dateTax(26. 5. 2026), do kontrolního hlášení jde datum zdateKHDPH(25. 5. 2026). - Úhrada se páruje s bankovním účtem s ID
FIO, který musí v Pohodě existovat, jinak import skončí chybou "Bank account not found". - mServer vrátí XML odpověď ve Windows-1250 s výsledkem importu a číslem založeného dokladu.
Časté problémy a řešení
"encoding 'Windows-1250' not supported"
Moderní JS/Python klienti default UTF-8. Při parsování response z mServeru musíš explicit dekódovat:
Python:
import requests
r = requests.post(url, data=xml.encode('windows-1250'), auth=(user, pwd))
response_text = r.content.decode('windows-1250')
Node.js:
const iconv = require('iconv-lite');
const buf = Buffer.from(response.data, 'binary');
const text = iconv.decode(buf, 'win1250');
"Invalid number": chybí číselná řada
Pohoda v 2026 přijímá faktury bez <inv:number>. Pokud pošleš XML BEZ <inv:number>, Pohoda použije výchozí číselnou řadu uživatele, pod kterým import běží.
Pokud chceš specific řadu, nastav v Pohodě v "Nastavení účetní jednotky".
"Date out of range"
Datumy musí být YYYY-MM-DD (ISO format), ne DD.MM.YYYY.
"Bank account not found"
<inv:account><typ:ids>FIO</typ:ids></inv:account>: FIO musí být přesné ID účtu jak je v Pohodě (Soubor → Účetní jednotka → Bankovní účty).
Reverse charge (stavebnictví)
Pro plnění v reverse charge (§ 92a ZDPH) ve stavebnictví:
<inv:classificationVAT><typ:classificationVATType>nonSubsume</typ:classificationVATType></inv:classificationVAT>- Položky:
<inv:rateVAT>none</inv:rateVAT>+ DPH se účtuje na straně příjemce
HTTPS deployment
mServer sám o sobě jede po HTTP. Pokud má být dostupný odjinud než z lokální sítě, platí tři pravidla:
-
Reverzní proxy s HTTPS terminací před mServerem. Proxy poslouchá na portu 443, certifikát řeší ona a na mServer přeposílá provoz lokálně. V konfiguraci nezapomeňte přeposílat hlavičku
Authorization, jinak mServer autentizaci neuvidí. -
Certifikát stačí běžný důvěryhodný certifikát, včetně automaticky obnovovaných certifikátů zdarma. Hlídejte si jeho expiraci, po vypršení integrace spadne ze dne na den.
-
Seznam povolených IP adres na proxy. Externí systém, který do Pohody posílá doklady, má zpravidla pevné výstupní IP adresy, povolte jen ty a zbytek zahoďte.
DokladBot + Pohoda mServer
DokladBot umí mServer integration out-of-the-box, buď přímým připojením, nebo přes prostředníka:
- V DokladBot dashboardu → Nastavení → Integrace → Pohoda
- Zadej URL mServeru, uživatel + heslo
- DokladBot otestuje připojení
- Při schválení faktury v DokladBot → automatický import do Pohody
Časté otázky
Můžu mServer používat když mám Pohodu na cloudu?
Ne přímo. Cloudová Pohoda nemá vystavený mServer port. Import je potřeba vést přes prostředníka, který má s cloudovou Pohodou vlastní integraci.
Funguje mServer s Pohodou Mini?
Ano, mServer je součást všech verzí Pohody (Mini, Lite, Standard, Premium, Komplet).
Co s víceuživatelskou Pohodou?
mServer používá jednoho uživatele pro autentizaci. Můžeš vytvořit dedikovaného "api" uživatele s omezenými právy (jen import, žádné mazání).
Jak často se aktualizuje XML schema?
Výrobce Pohody vydává nové verze schématu zhruba ročně. Aktuální schema 2026 = version 2.0. DokladBot vždy podporuje nejnovější + 1 předchozí verzi.
Kde najdu kompletní XML schema referencer?
Na webu výrobce Pohody stormware.cz, sekce "Pro vývojáře".
Související
- Integrace Pohoda
- Integrace Money S3
- DokladBot vs Pohoda: srovnání
- Export faktur do Pohody: XML vs. mServer
- Alternativy k Pohodě
- Daňová evidence vs účetnictví
DokladBot posílá zpracované faktury do Pohody mServer automaticky. Nastavíš jednou, jezdí pořád. Vyzkoušej integraci.
Zdroje a právní předpisy
Nechcete ztrácet čas s papírováním?
Vyzkoušejte DokladBot, účetnictví přes WhatsApp. Vyfoťte účtenku a máte zaúčtováno. Začínáte se 7 dny zdarma na všechny funkce, až 100 účtenek a faktur.
Užitečné nástroje a stránky
- Jak DokladBot funguje
- AI asistent pro účetnictví
- DokladBot v Claude
- Automatické účtování dokladů: srovnání
Vzory dokumentů ke stažení
Související články

Příjem faktur e-mailem: jak dostat faktury z emailu rovnou do účetnictví
Faktury od dodavatelů chodí do e-mailu jako PDF a někdo je musí stáhnout, uložit a přepsat. Ukážeme, jak celý příjem faktur e-mailem zautomatizovat: od přeposílací adresy přes vytěžení příloh až po pravidla pro jednotlivé dodavatele.

Schvalování faktur a oběh dokladů v malém týmu: jak nastavit proces, který nezdržuje
Faktura přijde e-mailem, účtenka leží v autě a nikdo neví, co už je schválené k proplacení. Ukážeme vám, jak nastavit schvalování faktur a oběh dokladů tak, aby fungoval i v týmu o dvou lidech.

Pojištění odpovědnosti OSVČ: kdy a jak vybrat
Pojištění odpovědnosti může OSVČ ušetřit statisíce korun při nečekané škodě. Zjistěte, kdy je povinné, jaké typy existují a jak vybrat správné pojištění pro vaše podnikání.