FlexiBee API - odpočet zálohy

Jak správně vytvořit doklad s odpočtem zálohy přes API rozhraní Abra FlexiBee?

Příklad v cizí měně ve formátu XML

<winstrom atomic="false">
  <!-- založení nebo aktualizace firmy -->
  <adresar>
    <id>code:DATIVERY</id>
    <kod>DATIVERY</kod>
    <nazev>Dativery s.r.o.</nazev>
  </adresar>

  <!-- založení nové zálohové faktury -->
  <faktura-vydana>
    <id>ext:MOJE-ZALOHA</id>
    <typDokl>code:ZÁLOHA</typDokl>
    <datVyst>2019-10-01</datVyst>
    <firma>code:DATIVERY</firma>
    <mena>code:EUR</mena>
    <bezPolozek>true</bezPolozek><!-- může být "bezpoložková" -->
    <sumOsvMen>1000</sumOsvMen><!-- částka zálohy v měně -->
    <!-- hotovostní úhrada -->
    <hotovostni-uhrada>
      <pokladna>code:POKLADNA EUR</pokladna>
      <typDokl>code:STANDARD</typDokl>
      <castka>1000</castka>
      <datumUhrady>2019-10-01</datumUhrady>
    </hotovostni-uhrada>
  </faktura-vydana>

  <!-- založení výsledné faktury -->
  <faktura-vydana>
    <id>ext:MOJE-FAKTURA</id>
    <typDokl>code:FAKTURA</typDokl>
    <datVyst>2019-10-01</datVyst>
    <firma>code:DATIVERY</firma>
    <mena>code:EUR</mena>
    <bezPolozek>false</bezPolozek><!-- musí být "položková" -->
    <polozkyDokladu>
      <faktura-vydana-polozka>
        <id>ext:MOJE-FAKTURA-POLOZKA</id>
        <nazev>polozka</nazev>
        <mnozMj>1</mnozMj>
        <cenaMj>1000</cenaMj>
        <typSzbDphK>typSzbDph.dphOsv</typSzbDphK>
        <typCenyDphK>typCeny.bezDph</typCenyDphK>
      </faktura-vydana-polozka>
    </polozkyDokladu>
    <!-- odpočet zálohové faktury -->
    <odpocty-zaloh>
      <odpocet>
        <doklad>ext:MOJE-ZALOHA</doklad>
        <castkaMen>1000</castkaMen>
      </odpocet>
    </odpocty-zaloh>
  </faktura-vydana>
</winstrom>


Příklad v cizí měně ve formátu JSON

{
  "winstrom": {
    "@atomic": false,
    "adresar": [
      {
        "id": "code:DATIVERY",
        "kod": "DATIVERY",
        "nazev": "Dativery s.r.o."
      }
    ],
    "faktura-vydana": [
      {
        "id": "ext:MOJE-ZALOHA",
        "typDokl": "code:ZÁLOHA",
        "datVyst": "2019-10-01",
        "firma": "code:DATIVERY",
        "mena": "code:EUR",
        "bezPolozek": true,
        "sumOsvMen": 1000,
        "hotovostni-uhrada": {
          "pokladna": "code:POKLADNA EUR",
          "typDokl": "code:STANDARD",
          "castka": 1000,
          "datumUhrady": "2019-10-01"
        }
      },
      {
        "id": "ext:MOJE-FAKTURA",
        "typDokl": "code:FAKTURA",
        "datVyst": "2019-10-01",
        "firma": "code:DATIVERY",
        "mena": "code:EUR",
        "bezPolozek": false,
        "polozkyDokladu": [
          {
            "id": "ext:MOJE-FAKTURA-POLOZKA",
            "nazev": "polozka",
            "mnozMj": 1,
            "cenaMj": 1000,
            "typSzbDphK": "typSzbDph.dphOsv",
            "typCenyDphK": "typCeny.bezDph"
          }
        ],
        "odpocty-zaloh": {
          "odpocet": {
            "doklad": "ext:MOJE-ZALOHA",
            "castkaMen": 1000
          }
        }
      }
    ]
  }
}


Na co si dát pozor?

V případě, že budete mít všechno v jednom XML, jako já v příkladech, tak musí být použito atomic="false". Jinak se výsledná faktura vygeneruje špatně a bude obsahovat položku s korekcí kurzového rozdílu.

Pokud používáte pro komunikaci s FlexiBee formát JSON, tak můžete udělat na faktuře v jednom requestu jen jeden odpočet zálohy. Pokud budete chtít odečíst více záloh, tak se více requestům nevyhnete.

Zdroje

Dokumentace odpočtu záloh
Dokumentace hotovostní úhrady

REST API, FlexiBee API

- (27. 10. 2019)

Jsem programátor, horolezec a tak trochu FlexiBee fanatik :-).
Na CharlieBlogu sepisuji své nápady a poznatky už od roku 2006.

Powered by CharlieBlog Engine v2.2 - Login