Pohoda XML import faktur

Návod a vysvětlení, jak do programu Stormware Pohoda naimportovat faktury vystavené v jiném systému.

Pokud účtujete v Pohodě, ale faktury vystavujete mimo tento program (např. pomocí iDoklad, Fakturoid, nebo ve vaší aplikaci), tak máte  několik možností, jak vystavené faktury dostat do Pohody.

Pokud jde o několik málo faktur, tak je nejjednodušší je do Pohody ručně přepsat. Pokud je faktur více, tak je lepší použít hromadný import. Fakturační systémy často nabízejí možnost stáhnout si seznam faktur pro Pohodu do souboru XML. Ten pak jen v Pohodě nahrajete a zkontrolujete, že se vše povedlo.

Pokud máte vlastní systém, budete si muset převodník vyrobit sami – typicky to tedy udělají programátoři Vašeho fakturačního systému, pro které by to mělo být jednoduché. Jde o soubor ve formátu XML, který výrobce popisuje na svých stránkách: https://www.stormware.cz/pohoda/xml/.
Oficiální dokumentace pro agendu vydaných faktur: schéma faktury vydané – invoice.xsd

Takto vypadá obsah XML souboru, barevně jsou poznámky. Jde jen o příklad, který používám já, ale vždy hodně závisí na individuálním použití. Takže je nejlepší vyrobit si v Pohodě svou typickou fakturu a poté jí vyexportovat do XML a podívat se na použité elementy a hodnoty.

<?xml version=“1.0″ encoding=“Windows-1250“ ?>
Pohoda bohužel zatím nepodporuje UTF-8, čili azbuka, čínština a jiná písma jsou problém.
<dat:dataPack version=“2.0″ id=“fa003″ ico=“12345678″ key=“……..dlouhé_číslo_smazáno….“ note=“Import FA“>
    <dat:dataPackItem version=“2.0″ id=“CM001„>
    CM001 je číslo importovaného záznamu – pokud se při importu Pohodě něco nelíbí, podle tohoto čísla poznáte, v kterém záznamu je problém.
        <inv:invoice version=“2.0″>
            <inv:invoiceHeader>
                <inv:invoiceType>issuedInvoice</inv:invoiceType> Typ agendy, v tomto případě vydané faktury
                <inv:number>
                    <typ:numberRequested>21010001</typ:numberRequested> Číslo faktury
                </inv:number>
                <inv:symVar>21010001</inv:symVar> Variabilní symbol faktury
                <inv:date>2021-01-15</inv:date> Datum vystavení faktury 
                <inv:dateTax>2021-01-15</inv:dateTax> Datum zdanitelného plnění – DUZP
                <inv:dateAccounting>2021-01-15</inv:dateAccounting> Datum zaúčtování
                <inv:dateDue>2021-01-29</inv:dateDue> Datum splatnosti
                <inv:accounting>
                    <typ:ids>Služby</typ:ids> Předkontace – podle Vašeho nastavení v Pohodě
                </inv:accounting>
                <inv:classificationVAT>
                    <typ:ids>USregEU</typ:ids> DPH členění – podle Vašeho nastavení v Pohodě
                </inv:classificationVAT>
                <inv:text>Text na faktuře – hlavní</inv:text> Text na faktuře obecný
                <inv:partnerIdentity>
                    <typ:address>
                        <typ:company>Název zákazníka</typ:company>
                        <typ:city>11150 Budapest 1</typ:city>
                        <typ:street>Ulice 123</typ:street>
                        <typ:dic>HU123456789</typ:dic> DIČ
                        <typ:country>
                            <typ:ids>HU</typ:ids> Kód země
                        </typ:country>
                    </typ:address>
                    <typ:shipToAddress>
                        <typ:name>Dodání</typ:name>
                    </typ:shipToAddress>
                </inv:partnerIdentity>
                <inv:myIdentity>
                    <typ:address>
                        <typ:company>Moje firma, s.r.o.</typ:company>
                        <typ:surname>Moje příjmení</typ:surname>
                        <typ:name>Moje křestní jméno</typ:name>
                        <typ:city>Praha 5  </typ:city>
                        <typ:street>Ulice</typ:street>
                        <typ:number>123/1</typ:number>
                        <typ:zip>150 00</typ:zip>
                        <typ:ico>123456789</typ:ico>
                        <typ:dic>CZ12345678</typ:dic>
                    </typ:address>
                </inv:myIdentity>
                <inv:paymentType>
                    <typ:ids>Příkazem</typ:ids> Typ platby
                    <typ:paymentType>draft</typ:paymentType>
                </inv:paymentType>
                <inv:account>
                    <typ:ids>FIOE</typ:ids> Banka – podle Vašeho nastavení v Pohodě
                    <typ:accountNo>1234567890</typ:accountNo> Bankovní účet – podle Vašeho nastavení v Pohodě
                </inv:account>
                <inv:symConst>0308</inv:symConst> Konstantní symbol
                <inv:activity>
                    <typ:ids>Činnost)</typ:ids> Název činnosti – podle Vašeho nastavení v Pohodě, použijte krátkou verzi názvu (musí již existovat)
                </inv:activity>
                <inv:liquidation>
                    <typ:date>2021-02-28</typ:date>
                </inv:liquidation>
                <inv:markRecord>false</inv:markRecord>
            </inv:invoiceHeader>
            Následují jednotlivé položky faktury – v tomto příkladu je použita cizí měna EUR a její přepočet do Kč:
            <inv:invoiceDetail>
                <inv:invoiceItem>
                    <inv:text>Název položky 1</inv:text>
                    <inv:quantity>1.0</inv:quantity> Množství
                    <inv:coefficient>1.0</inv:coefficient>
                    <inv:payVAT>false</inv:payVAT>
                    <inv:rateVAT>none</inv:rateVAT>
                    <inv:discountPercentage>0.0</inv:discountPercentage>
                    <inv:homeCurrency>
                        <typ:unitPrice>3797.55</typ:unitPrice> Jednotková cena přepočítaná do Kč
                        <typ:price>3797.55</typ:price>
                        <typ:priceVAT>0</typ:priceVAT>
                        <typ:priceSum>3797.55</typ:priceSum>
                    </inv:homeCurrency>
                    <inv:foreignCurrency>
                        <typ:unitPrice>145</typ:unitPrice> Jednotková cena v cizí měně
                        <typ:price>145</typ:price>
                        <typ:priceVAT>0</typ:priceVAT>
                        <typ:priceSum>145</typ:priceSum>
                    </inv:foreignCurrency>
                    <inv:PDP>false</inv:PDP>
                </inv:invoiceItem>
            </inv:invoiceDetail>
            <inv:invoiceSummary>
                <inv:roundingDocument>up2one</inv:roundingDocument>
                <inv:roundingVAT>none</inv:roundingVAT>
                <inv:typeCalculateVATInclusivePrice>VATNewMethod</inv:typeCalculateVATInclusivePrice>
                <inv:homeCurrency>
                    <typ:priceNone>3797.55</typ:priceNone>
                    <typ:priceLow>0</typ:priceLow>
                    <typ:priceLowVAT>0</typ:priceLowVAT>
                    <typ:priceLowSum>0</typ:priceLowSum>
                    <typ:priceHigh>0</typ:priceHigh>
                    <typ:priceHighVAT>0</typ:priceHighVAT>
                    <typ:priceHighSum>0</typ:priceHighSum>
                    <typ:price3>0</typ:price3>
                    <typ:price3VAT>0</typ:price3VAT>
                    <typ:price3Sum>0</typ:price3Sum>
                    <typ:round>
                        <typ:priceRound>0</typ:priceRound>
                    </typ:round>
                </inv:homeCurrency>
                <inv:foreignCurrency>
                    <typ:currency>
                        <typ:ids>EUR</typ:ids>
                    </typ:currency>
                    <typ:rate>26.19</typ:rate>
                    <typ:amount>1</typ:amount>
                    <typ:priceSum>145</typ:priceSum>
                    <typ:round>
                        <typ:priceRound>0</typ:priceRound>
                    </typ:round>
                </inv:foreignCurrency>
            </inv:invoiceSummary>
        </inv:invoice>
    </dat:dataPackItem>
… a takto znova pro každou další fakturu:
<dat:dataPackItem id=“CM002″ version=“2.0″>
  <inv:invoice version=“2.0″>
…faktura
  </inv:invoice>
</dat:dataPackItem>

…a na konci uzavřít:
</dat:dataPack>

 

Tak to by bylo v rychlosti krátké seznámení s Pohoda XML importem. Snad to někomu pomůže.

Narazil jsem také na PHP skript pro převod faktur do XML na Githubu. Sice už je staršího data, ale pro inspiraci také poslouží.