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

Pohoda mServer integrace 2026 — kompletní návod
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
- Period atribut v
dat:dataPack:currentnebofollowing= jednorázové přepnutí účetního období při importu - Číselná řada: NEPOSÍLAT
<inv:number>— Pohoda použije výchozí řadu uživatele (potvrzeno Stormware podporou) - Datum odp. (dateTax): VŽDY today, dateKHDPH = VŽDY original z faktury
- HTTPS: doporučeno, vyžaduje certifikát (vlastní nebo Let's Encrypt přes reverse proxy)
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 (DokladBot, Wflow) posílá zpracované faktury od dodavatelů
- Pokladna (Storyous, Markeeta) posílá tržby
- Účetní firma centralizuje import pro 10+ klientů z jednoho ERP
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 mServer má být veřejně dostupný, dej před něj reverse proxy (Nginx) s HTTPS terminací + IP whitelist.
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.
Č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 (potvrzeno Stormware podporou v 04/2026).
Pokud chceš specific řadu, nastav v Pohodě v "Nastavení účetní jednotky".
"Period not match" — období roku
period atribut v <dat:dataPack>:
current= aktuální rok (default Pohoda)following= následující rok
Pokud importuješ za prosinec 2025 v lednu 2026, použij period="following" aby Pohoda věděla, že to patří k roku 2025.
"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
Pro production deployment doporučujeme:
-
Reverse proxy Nginx před mServerem:
server { listen 443 ssl; server_name pohoda.mojefirma.cz; ssl_certificate /etc/letsencrypt/live/.../fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/.../privkey.pem; location / { proxy_pass http://localhost:8080; proxy_set_header Authorization $http_authorization; } } -
Let's Encrypt certifikát zdarma přes Certbot:
sudo certbot --nginx -d pohoda.mojefirma.cz -
IP whitelist pokud cílíš jen na konkrétní externí systémy:
location / { allow 34.120.x.x; # IP DokladBot serveru allow 35.190.x.x; deny all; proxy_pass http://localhost:8080; }
DokladBot + Pohoda mServer
DokladBot umí mServer integration out-of-the-box přes Dativery prostředníka nebo přímé připojení:
- 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 (CompuGroup Cloud)?
Ne přímo. Cloud Pohoda nemá vystavený mServer port. Musíš použít Dativery jako prostředníka — Dativery má special integraci s cloud Pohodou.
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?
Stormware vydává nové verze ~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?
stormware.cz/podpora/Pohoda XML Schema — sekce "Pro vývojáře".
Související
DokladBot posílá zpracované faktury do Pohody mServer automaticky. Nastavíš jednou, jezdí pořád. Vyzkoušej integraci.
Nechcete ztrácet čas s papírováním?
Vyzkoušejte DokladBot - účetnictví přes WhatsApp. První týden zdarma.