In «Trade with Invoice Issuance» (TVR), you can issue an invoice in dollars, euros, or another currency and accept payment from the customer in UAH — either in full or in installments. In such sales, entrepreneurs ask Torgsoft specialists which exchange rate should be used for a prepayment, what happens if the rate changes before the next payment, why the debt in TVR remains in the invoice currency while the pECR receipt is generated in UAH, where the message «The partial payment amount … cannot exceed the total amount …» comes from, and whether the exchange rate, payment amount, or invoice itself needs to be changed to resolve it. It is also important to understand that a foreign-currency invoice, a financial payment document, and a fiscal receipt are related but not identical documents.
What Is a Foreign-Currency Invoice in TVR
In the enhanced TVR mode, Torgsoft allows you to maintain invoices in different currencies. For an invoice, you can specify:
-
the invoice currency;
-
the exchange rate for this currency;
-
the settlement account;
-
products, quantities, and prices;
-
terms for subsequent payment and shipment.
If the invoice currency differs from the national currency, the «Exchange Rate» field appears in the document. The exchange rate can be entered manually or taken from the «Currency Exchange Rate» directory.
The invoice also has the «Fix exchange rate for payment» parameter. If enabled, during subsequent payment the user will not be able to change the exchange rate used by the software to calculate the payment equivalent. This is an important setting for sales where several days pass between issuing the invoice and the final settlement.
In TVR, it is necessary to distinguish between the currency in which the obligation is recorded and the currency in which the actual settlement is made. The fact that an invoice in the software is issued, for example, in US dollars does not mean that a Ukrainian store must accept dollars from the customer or send the numerical value of the invoice to the pECR as UAH. For ordinary settlements within Ukraine, the legal tender is the hryvnia.
Three Amounts Exist Simultaneously in a Foreign-Currency Sale
To verify such a sale correctly, it is useful to separate three levels:
|
What we check |
Example |
|
Invoice amount in the TVR currency |
1 000 USD |
|
UAH equivalent of a specific payment |
12 300 UAH |
|
Amount of a specific fiscal receipt |
12 300 UAH |
The customer's debt in TVR is calculated in the invoice currency. At the same time, a specific UAH payment has its own UAH equivalent, which must be correctly taken into account during fiscalization.
The Torgsoft help documentation separately provides that prepayment against an invoice and payment of a sales invoice can be made in different currencies. In this case, the debt under the invoice, the debt under the sales invoice, and the allocation of the prepayment are calculated in the invoice currency. Due to recalculation, small overpayments, underpayments, or a difference between the debt under the invoice and the total debts under its sales invoices may occur. For payments in a currency other than the invoice currency, such a difference does not in itself indicate that the software is operating incorrectly.

How the Exchange Rate Works in a Foreign-Currency Invoice
Consider an invoice for 1 000 USD.
When it is created in Torgsoft, the exchange rate is set as follows: 1 USD = 41.00 UAH.
The UAH equivalent of the entire amount at this stage is: 1 000 × 41.00 = 41 000 UAH.
Two different scenarios are then possible.
If the exchange rate for payment is fixed
If «Fix exchange rate for payment» is enabled in the invoice, the exchange rate used to calculate the equivalent cannot be edited when making a payment.
For example, the customer first pays the equivalent of 300 USD: 300 × 41.00 = 12 300 UAH.
Remaining debt: 700 USD.
If the second payment is also calculated at the fixed rate of 41.00: 700 × 41.00 = 28 700 UAH.
In total, the customer will pay: 12 300 + 28 700 = 41 000 UAH.
If the exchange rate for payment is not fixed
If the exchange rate was not fixed, it may differ at the time of the next payment from the rate that applied when the invoice was issued.
Suppose:
-
the first payment is 300 USD at a rate of 41.00 — 12 300 UAH;
-
the remaining balance is 700 USD;
-
by the time of the second payment, the exchange rate is 42.00;
-
the second payment is 29 400 UAH.
As a result, the customer paid: 12 300 + 29 400 = 41 700 UAH.
This does not mean that after the first payment its amount must be retroactively changed from 12 300 UAH. In TVR, before the second payment the debt was 700 USD, while the UAH equivalent of this debt changed due to the different exchange rate.
If the first payment has already been fiscalized, its receipt also remains for the UAH amount registered during the first settlement. A subsequent exchange rate change does not rewrite a receipt already registered with the State Tax Service.
Which Exchange Rate to Use for a Payment
When checking an old document, you should not simply rely on «today's exchange rate».
For a specific transaction, check:
-
the invoice currency;
-
the exchange rate specified in the invoice;
-
whether «Fix exchange rate for payment» is enabled;
-
the exchange rate used to calculate the equivalent for the specific payment;
-
the amount and currency of the financial document;
-
the actual UAH amount received from the customer;
-
the amount of the fiscal receipt already registered.
If the business uses a contractual foreign-currency reference, the rule for determining the UAH equivalent must comply with the terms of the specific sale. This is why Torgsoft provides the option either to change the exchange rate at the time of payment or to fix it in the invoice.
How the First Partial Payment Is Fiscalized
If the customer pays in installments by cash or payment card, the State Tax Service requires a separate fiscal receipt for each part of the settlement. The State Tax Service pECR provides the following conditions for this:
-
«Prepayment»;
-
«Subsequent payment»;
-
«Final settlement».
For example, under a foreign-currency invoice for 1 000 USD, the customer pays the first 12 300 UAH by card.
If this is the first partial settlement, TVR generates a prepayment receipt for the current payment amount — 12 300 UAH.
The next payment that does not yet settle the debt in full is recorded as «Subsequent payment», while the payment that closes the debt is recorded as «Final settlement». For a subsequent payment, the State Tax Service provides for displaying previously received payments, the current amount in UAH, and the fiscal number of the first prepayment receipt.
There is no need to manually convert one unit of a product into 0.3 units
For TVR mode, the Torgsoft help documentation describes a different logic from proportionally reducing the physical quantity of the product.
Prepayment, subsequent payment, and final settlement receipts specify the full value and full quantity of the products in the document, while the amount of a specific receipt equals the amount of the current payment.
Therefore, for a product with a quantity of 1 pc., you do not need to manually specify 0.3 pcs. merely because the customer has paid 30% of its value. The working materials on this topic should be interpreted with the current TVR logic in mind.
For its part, the State Tax Service requires the prepayment receipt to identify the subject of the future sale and show the amount actually received, while the final settlement must contain the full product list, price, quantity, and take previous payments into account.
Which Receipt Printing Mode to Use for Installment Payments
In Settings → Parameters → Receipt, TVR has the «Print sales invoice receipt on pECR» parameter.

«For the payment amount»
The receipt is generated for the amount that the customer actually pays at the moment. If it does not settle the debt in full, it will be a prepayment or subsequent payment.
For the standard scheme: advance payment → second payment → final payment this mode directly corresponds to the logic of separate fiscalization of each card or cash payment.
«For the payment amount and debt»
In this mode, when payment is incomplete, Torgsoft can generate a receipt that completes the settlement taking the debt into account. After such a receipt, another receipt for a subsequent payment under the same sales invoice is no longer generated according to TVR logic.
Therefore, this mode should not automatically be used for a scheme where the customer will later pay additional parts of the debt in cash or by card: according to the current clarification of the State Tax Service, each such payment is a separate settlement transaction and requires a separate receipt.
«Ask the user»
Before generating the document, the operator selects the required scenario.
This option is convenient if one store uses different schemes:
-
standard prepayment;
-
sale with an outstanding debt balance;
-
part of the payments via IBAN;
-
card payment of the remaining amount upon shipment.
However, the cashier must understand which payment has already been fiscalized and how the remaining balance will be paid.

What Changes If the Exchange Rate Rises Between Payments
Let us return to the example:
-
invoice — 1 000 USD;
-
first payment — 300 USD × 41.00 = 12 300 UAH;
-
remaining balance — 700 USD;
-
before the second payment, the exchange rate changed to 42.00;
-
second payment at the new rate — 29 400 UAH.
If the first payment already has a fiscal receipt for 12 300 UAH, this receipt remains part of the settlement history.
At the final settlement, the following must be reconciled: previously fiscalized amount + current UAH payment + outstanding debt under the foreign-currency document.
It is at this stage that older versions of the algorithm could use different UAH bases for the same transaction.
Why the Message «The Partial Payment Amount Cannot Exceed the Total Amount» Appears
The full text looks approximately as follows:
Error code: 9 DocumentValidationError
The partial payment amount XXX.XX cannot exceed the total amount YYY.YY.
This specific case is recorded in Torgsoft's internal development history. On October 2, 2025, a scenario was fixed that could occur when generating a receipt for a document not denominated in the national currency if the UAH payment made was greater than the calculated UAH amount of the document.
The cause can be illustrated as follows.
Suppose a foreign-currency document has a value of: 100 USD.
One stage of the algorithm calculated its UAH equivalent as: 100 × 41 = 4 100 UAH.
But the actual payment after the exchange rate changed is: 100 × 42 = 4 200 UAH.
If the fiscal document simultaneously transmits:
-
total amount — 4 100 UAH;
-
partial payment — 4 200 UAH,
validation will naturally reject the document: mathematically, the partial payment exceeds its total amount.
The problem here is not that the customer was not allowed to pay the UAH equivalent at the new exchange rate. The problem is that incompatible UAH values were used within the same fiscal document.
This class of discrepancies is also described in the working materials on this topic.
Should the Payment Be Manually Reduced After Such a Message
No. If the customer actually paid 4 200 UAH, you should not change the financial document to 4 100 UAH merely so that the pECR accepts the receipt.
Likewise, you should not:
-
change the exchange rate retroactively;
-
reduce the amount actually received;
-
add an artificial discount;
-
create a product or service for the difference;
-
manually adjust fiscal tables in the database.
If the scenario corresponds to the known case involving a foreign-currency sales invoice, first check the Torgsoft version and use the latest update, since this cause has already been corrected at the receipt generation algorithm level.
If the same message occurs in the current version, the documents for the specific transaction must be checked.
How to Check a Foreign-Currency Sales Invoice After Error Code 9
Step 1. Do not generate the receipt again until its status has been checked
DocumentValidationError means that validation has failed, but in any uncertain situation, first check Software ECR Analytics.
You need to determine:
-
whether the document has a fiscal number;
-
whether it was actually rejected;
-
whether the receipt was registered but the response simply did not return to the workstation;
-
whether another receipt exists for the same payment.
Do not create a duplicate settlement transaction.
Step 2. Read the full text after DocumentValidationError
Error code 9 alone does not indicate a foreign-currency discrepancy. The wording that follows it is what matters.
For example, these may be different situations: «The partial payment amount … cannot exceed the total amount …» or «Totals by payment methods. The sum of the rows … does not equal the total amount …».
Torgsoft's development history also contains separate fixes for the second type of message, so the same correction method should not be applied to all error code 9 cases.
Step 3. Check the invoice
In TVR, record:
-
the currency;
-
the amount;
-
the exchange rate;
-
the UAH equivalent;
-
the status of the «Fix exchange rate for payment» switch.
If the invoice was issued a long time ago, these data are more important than the exchange rate currently set in the software.
Step 4. Check each previous payment
For each payment, determine:
-
the date;
-
the currency of the financial document;
-
the amount;
-
the exchange rate used;
-
the UAH equivalent;
-
the payment method;
-
whether a pECR receipt was printed;
-
the fiscal number of this receipt.
It is convenient to create a table:
|
Payment |
Debt in foreign currency before payment |
Exchange rate |
Paid in UAH |
Fiscal receipt |
|
Prepayment |
1 000 USD |
41.00 |
12 300 UAH |
yes |
|
Subsequent payment |
700 USD |
41.50 |
8 300 UAH |
yes |
|
Current |
500 USD |
42.00 |
… |
not generated |
This makes it clear whether different exchange rates were actually used at different stages.
Step 5. Check the current debt specifically in the invoice currency
This is a key check.
Do not try to determine the remaining balance solely as follows: the original UAH equivalent minus all UAH payments. If the exchange rate changed, this calculation may give an incorrect picture.
In TVR, debt under invoices and sales invoices is calculated in the invoice currency. This is the amount from which the UAH equivalent of the current payment should be calculated.
Example of an Exchange Rate Change Across Three Payments
Invoice: 500 EUR.
First prepayment
Exchange rate — 45.00.
The customer pays the equivalent of 100 EUR: 4 500 UAH.
Debt: 400 EUR.
Second payment
Exchange rate — 45.50.
The customer pays the equivalent of 150 EUR: 6 825 UAH.
Debt: 250 EUR.
Final settlement
Exchange rate — 46.00.
The final 250 EUR: 11 500 UAH.
In total, the customer paid: 4 500 + 6 825 + 11 500 = 22 825 UAH. At the same time, the invoice itself remained 500 EUR throughout.
If at the first stage you simply fixed the UAH equivalent as 500 × 45 = 22 500 UAH and then compared all subsequent payments only with this original UAH figure, the final payments could appear as an «overpayment» of 325 UAH.
For a foreign-currency invoice, this is an incorrect method of control. You need to take into account the rule according to which the exchange rate was applied to each part of the obligation.
What If 0.01–0.10 UAH Remains After Recalculation
Currency conversion may produce fractional values: 37.83 EUR × 45.71 = 1 729.8093 UAH.
Financial and fiscal documents require an amount accurate to one kopeck. If different parts of the calculation are rounded at different stages, a small balance may appear.
The TVR help documentation explicitly provides for the possibility of small overpayments and underpayments when payment is made in a currency other than the invoice currency. However, this does not mean that the pECR will allow a discrepancy within the fiscal document itself.
For a receipt, the following must match arithmetically: product amounts → total amount → amounts by payment methods.
Regulation No. 13 requires the fiscal receipt to specify the payment method, the amount for that method, and the transaction currency. Therefore, even a difference of one kopeck should not be concealed by manually adding a notional «Rounding» product.
What to Do If the Prepayment Exceeds the Debt
This must be distinguished from DocumentValidationError.
TVR allows a normal business situation where the prepayment made against an invoice exceeds its current debt.
The Torgsoft help documentation provides separate handling for such an overpayment: when a sales invoice is generated or paid, the software may offer to allocate it to the document; if the entire overpayment is not linked to the sales invoice, part of it remains as a prepayment against the invoice.
Therefore, it is necessary to distinguish between an actual customer overpayment — TVR contains more funds than the debt — and an incorrect pECR control ratio — in the generated XML, the partial payment turned out to be greater than the transmitted total document amount. These are different situations.
What Happens If the First Payment Was Made via IBAN
The method of receiving funds, not only the currency, must also be checked separately.
According to the current clarification of the State Tax Service, if the customer transfers money directly to the seller's current account using IBAN details, an ECR/pECR may not be required for such a payment. If one payment was made via IBAN and the next one in cash, the State Tax Service requires a receipt for the cash settlement transaction, taking into account the amount previously received.
Therefore, for a foreign-currency invoice, the question «Is this the first or second payment?» is not sufficient.
You need to determine:
-
IBAN;
-
payment card;
-
cash;
-
another form of settlement.
This also determines whether a specific stage needs to be fiscalized.
Can the First Prepayment Be Changed After the Exchange Rate Changes
If a fiscal receipt has not yet been generated and the financial document can be correctly amended according to accounting rules, the situation should be assessed based on the status of the related documents.
However, if the prepayment receipt has already been registered by the State Tax Service, you should not delete the financial payment or change its amount merely because the exchange rate has changed.
The fiscal receipt records a specific UAH amount for a specific settlement transaction.
If the customer cancels the order or an already fiscalized prepayment needs to be canceled, use the standard return transaction rather than locally deleting the payment.
Should the Old Exchange Rate Be Changed After It Rises
No, if the purpose is to «adjust» historical documents to match the new UAH amount.
The exchange rate in a new payment and the rate at which a previous payment was processed serve different purposes.
After the first payment, the following correspondence must be preserved: actual payment amount ↔ financial document ↔ fiscal receipt.
An exchange rate change should affect the stage to which it applies under the invoice terms, rather than rewriting settlement transactions that have already been completed.
Which Scenarios to Check First
|
Situation |
What to check |
|
Exchange rate fixed in the invoice |
Whether all payments are calculated using the fixed basis |
|
Exchange rate changes between payments |
The exchange rate and UAH equivalent of each payment separately |
|
Prepayment by cash or card |
A separate receipt for each part |
|
Prepayment via IBAN |
Whether a settlement transaction requiring a pECR occurred at all |
|
Partial payment in the receipt > total amount |
The Torgsoft version and the UAH equivalents of the document and payment |
|
There is a difference of one or several kopecks |
Conversion and rounding procedure |
|
The invoice itself has been overpaid |
Allocation of the prepayment between sales invoices and the remaining prepayment balance |
|
The first receipt has already been fiscalized |
Do not change it retroactively; take it into account in the next settlement |
What Not to Do in Case of a Discrepancy
You should not:
-
change the old exchange rate merely to make the pECR message disappear;
-
reduce the amount actually received from the customer in the financial document;
-
change the product quantity to a fractional value solely because of a partial payment in TVR;
-
delete an already fiscalized prepayment;
-
create an arbitrary product or service for 0.01 UAH;
-
repeatedly resend the same receipt;
-
manually edit fiscal data in the database;
-
evaluate an old payment using the exchange rate currently set in the software.
First, reconstruct the actual exchange rates, payments, and fiscal documents for the specific order.
What to Prepare for Technical Support
For a foreign-currency case, it is better to provide the data immediately so that the entire settlement can be reproduced:
-
invoice number and date;
-
invoice currency;
-
amount in foreign currency;
-
exchange rate set when the invoice was created;
-
whether «Fix exchange rate for payment» is enabled;
-
sales invoice number and date;
-
all payments in order — date, amount, currency, and exchange rate;
-
UAH equivalent of each payment;
-
method of each payment — cash, card, IBAN;
-
fiscal numbers of receipts already generated;
-
current debt amount in the invoice currency;
-
the full text of DocumentValidationError, not only error code 9;
-
a screenshot of the message;
-
Torgsoft version;
-
information on whether products, prices, quantities, or discounts were changed after the first prepayment.
There is no need to provide the QES password or the personal key file to verify the arithmetic of a foreign-currency payment.
The Main Rule for Foreign-Currency Prepayments
In TVR, the invoice currency, the UAH equivalent of the payment, and the amount of the fiscal receipt serve different purposes.
The debt is maintained in the invoice currency. Each partial payment has a specific exchange rate and UAH equivalent. If the payment is fiscalized, the pECR must receive consistent UAH amounts for the current transaction and correctly take previous payments into account.
A change in the exchange rate between the prepayment and the final settlement is not in itself a reason to rewrite the first payment. A discrepancy occurs when amounts calculated using different UAH bases are mixed within a single fiscal document. Therefore, when the message «The partial payment amount cannot exceed the total amount» appears, you need to check not only the receipt amount but the entire chain: foreign-currency invoice → exchange rate → financial payment documents → debt in the invoice currency → UAH equivalents → previous fiscal receipts → current pECR receipt.









Go back to the previous step