Skip to main content

Creating a Credit Note Using the REST API

How to create overpayments in the ABRA Flexi REST API

Written by Petr Pech

The service allows you to create an overpayment from a bank account, cash register, or mutual offset. The overpayment is created by moving the unmatched portion of the payment to receivables or payables — depending on whether it is an income or an expense.

The overpayment creation feature is available for the banka, pokladni-pohyb, and vzajemny-zapocet records. You can find an overview of all records in the so-called evidence list.

Using the REST API, you can also settle invoices from overpayments in the bank account — these can, of course, also be overpayments created in this way. If you're interested in the procedure, please refer to our guide.


Input Parameters

Parameter

Required

Meaning

typDokl

required

The document type for creating the overpayment. This is an identifier of a record from the typ-pohledavky or typ-zavazku record.

rada

optional

The document series for creating the overpayment. If not specified, it is derived from the document type. This is an identifier of a record from the rada-pohledavky or rada-zavazku record.

⚠️ For records other than those listed, the <preplatek> element is silently ignored — the call will return 200, but nothing will be created. Therefore, do not automatically assume that a successful return value means an overpayment was created.


Overpayment from an Income Document (Other Payable)

<winstrom version="1.0">
<banka>
<!-- Bankovní doklad, z něhož má být přeplatek vytvořen. -->
<id>code:B+0001/2021</id>
<!-- Lze uvést další vlastnosti dokladu, jako při běžném importu. -->
<preplatek>
<typDokl>code:OST. ZÁVAZKY</typDokl>
</preplatek>
</banka>
</winstrom>

Since this was an incoming bank document, the result will be a new record in the zavazek record with the settings according to the specified payable type in the request body above:

<winstrom version="1.0">
<zavazek>
<id>code:ZAV0001/2021</id>
<popis>Přeplatek (B+0001/2021)</popis>
<typDokl>code:OST. ZÁVAZKY</typDokl>
<rada>code:OSTATNÍ ZÁVAZKY</rada>
<vazby>
<vazba>
<a>code:B+0001/2021</a>
<b>code:ZAV0001/2021</b>
</vazba>
</vazby>
</zavazek>
</winstrom>


Overpayment from an Expense Document (Other Receivable)

Similarly, when creating an overpayment from an expense document, you can create an other receivable:

<winstrom version="1.0">
<banka>
<!-- Bankovní doklad, z něhož má být přeplatek vytvořen. -->
<id>code:B-0001/2022</id>
<!-- Lze uvést další vlastnosti dokladu, jako při běžném importu. -->
<preplatek>
<typDokl>code:OST. POHLEDÁVKY</typDokl>
</preplatek>
</banka>
</winstrom>

For the request above, the result would look like this:

<winstrom version="1.0">
<pohledavka>
<id>code:POH0001/2022</id>
<popis>Přeplatek (B-0001/2022)</popis>
<typDokl>code:OST. POHLEDÁVKY</typDokl>
<rada>code:OSTATNÍ POHLEDÁVKY</rada>
<vazby>
<vazba>
<a>code:B-0001/2022</a>
<b>code:POH0001/2022</b>
</vazba>
</vazby>
</pohledavka>
</winstrom>

💡 Both the new payable and receivable are immediately matched with the corresponding payment, so neither the expense nor the income payment will appear among the unmatched settling documents.


Related

Did this answer your question?