Skip to main content

[en] Knowledge Center

Obliczenia opłaty za wymianę walut (agio)

W RamBase dostępne są dwa, opisane poniżej, procesy obliczania opłaty za wymianę walut. Pierwszy proces odbywa się podczas zamykania okresu przez użytkownika. Drugi jest wykonywany automatycznie przez RamBase podczas rejestracji płatności nabywców i dostawców.

[en] The behaviour of splitting agio into unrealised and realised is controlled by a system-level setting. Once activated, all foreign currency transactions follow this model, ensuring consistent accounting treatment of gains and losses.

[en] The company setting is called First accounting period for unrealized currency payments in reversal and import model.

[en]

agioo1.png

[en] RamBase has two processes for calculation of agio, both are described below. The first process is done during period closure by the user. The second one is done automatically by RamBase when registering customer and supplier payments.

[en] Agio calculation from the Period Account Register (PAR)

[en] The calculation of the unrealized agio is performed in the Period Account Register (PAR). One of the procedures during period closure is to import the unrealized gain and losses to the general ledger.

[en] When closing an accounting period, the closing period's opening balance must be reversed, and the current period's balance must be imported. The import job will automatically split the unrealized gains and losses.

[en] Reverse the last periods inventory balances and import the current inventory balances
  • [en] To open the Period Account Register (PAR) application, find Finance in the RamBase menu and then General ledger. Click Accounting periods to enter the PAR application.

  • [en] Highlight the relevant period and press ENTER.

  • [en] Select the Agio folder.

    [en]

    Agioo2.png

  • [en] Right click and chose menu option Create reverse and import agio.

[en] If everything is correct, the lines will now be marked with Status 4 with a reference to a general ledger entry. Agio status in the upper right corner will be Status 4.

[en] Agio calculation in PAR will create 3 sets of documents:

  • [en] CUSBAL - Agio on Account Receivable (AR).

  • [en] SUPBAL - Agio on Account Payables (AP).

  • [en] ACCBAL - Agio on all other GL accounts (Not AR & AP).

[en] General ledger postings (ATR) documents for CUSBAL and SUPBAL will be calculated based on customer and supplier balances in foreign currencies. Each ATR item will have a reference to a Customer / Supplier Account and currency. The amount will be calculated based on:

  • [en] For all transactions (CAT & SAT) that are open by the end of current period, but registered in earlier periods: Agio will be calculated using the transaction rate and the current period-end rate.

[en] ATR document with transaction type ACCBAL will handle all other GL accounts (Not AR & AP) and agio will be calculated this way:

  • [en] For all transactions (ATR items) that are registered in earlier periods: Agio will be calculated using the transaction rate and the current period-end rate.

[en]

Agioo3.png

Przykład
  • Twoją walutą w systemie jest USD.

  • Masz CIN na 100 EUR.

  • W dniu zarejestrowania CIN (St:4) kurs wynosił 1,1. Oznacza to, że wartość tej CIN w walucie systemu wynosi (100 * 1,1) = 110 USD.

  • Rejestracja CIN generuje otwarte księgowanie w księdze należności na 110 USD.

  • W ostatnim dniu miesiąca kurs wynosił 1,2 (kurs okresu).

  • Na koniec miesiąca otwarte księgowanie zostało obliczone z uwzględnieniem agio na podstawie kursu okresu i kursu walutowego z dnia rejestracji. (100*1,2) - (100*1,1) =  10. Oznacza to zysk z tytułu opłaty za wymianę walut w wysokości 10 USD.

Jeśli CIN nie zostanie opłacona do końca następnego miesiąca, otwarte księgowanie zostanie obliczone z uwzględnieniem agio z poprzedniego kursu okresu względem nowego kursu okresu.

  • Nowy kurs okresu wynosi 1,4.

  • (100*1,4) - (100*1,2) = 20 Oznacza to zysk z tytułu opłaty za wymianę walut w wysokości 20 USD.

Właściwy raport: FRP > ACCBAL > Salda konta KG z obliczeń AGIO.

[en] Relevant report: FRP > ACCBAL > GL Account Balances, from AGIO calculations.

[en] GL Posting

[en] GL accounts set up in Account Defaults (ACD) for Unrealizedgains and Unrealizedlosses are used when agio is created during period closure in PAR. Used as an offset account.

[en] ACD/UNREALIZEDGAINS and ACD/UNREALISEDLOSSES

[en]

Agioo4.png

[en] Agio calculation on Payment (PAY)

[en] For all invoices or credit notes linked to a payment, realized agio will be calculated using the exchange rate from the transaction date and the exchange rate from the payment date to determine the value in local currency. This applies to all invoices or credit notes regardless if they are registered in an earlier period or in the same period as the payment. The realized agio is presented in the field Currency Adjustment on the payment.

[en] Currency deviations on payments

[en] GL account for Currency Deviations on Payments.

[en] Scenario Example:

[en] Payment Currency: NOK (Norwegian Krone)

[en] Invoice Currency: EUR (Euro)

[en] In this example:

  • [en] The sales invoice is for 1,250 EUR, registered on 2025.09.18 with an exchange rate (RATE) of 11.626.

  • [en] The payment has a CURDATE of 2025.10.18, with a RATE of 11.7293.

    Agioo5.png
[en] Calculation of Currency Adjustment

[en] The Currency adjustment field reflects the currency deviation, calculated as follows:

  • [en] Determine the Payment Value in Local Currency (NOK): 1,250 EUR * 11.7293 (CURDATE RATE) = 14 661,63 NOK

  • [en] Determine the Invoice Value in Local Currency (NOK) Based on RATE from invoice: 1,250 EUR * 11.626 (2025.09.18 RATE) = 14 532,50 NOK

  • [en] Calculate the Currency Adjustment: 14 661,63 NOK – 14 532,50 NOK = 129,13 NOK

  • [en] The resulting currency adjustment of 129,13 NOK reflects the gain (or loss) due to exchange rate fluctuations between the invoice registration and payment dates.

  • [en] When payments are processed, unrealised agio from previous periods is automatically transitioned to realised agio and posted to the appropriate gain or loss account.

[en] Inspecting the Currency Adjustment Field

[en] The Currency Adjustment field includes an Inspect feature:

  • [en] Clicking this allows you to view a detailed report of the currency loss or gain for the selected invoice and any credit notes linked to the payment.

  • [en] This report helps trace and verify how the deviation was calculated.

[en] GL Posting

[en] This currency adjustment amount is automatically posted to the GL account configured in the Account Default (ACD) settings under Currency Deviation on Payments.

[en] ACD/REALIZEDGAINS and ACD/REALISEDLOSSES - Currency deviations on payments.

Agioo6.png
[en] Explanation to the «Deviation amount»

[en] Differences due to different exchange rate in bank and RamBase. This is the difference between the value of the invoice based on RATE of the Currency date and what is received in bank. This deviation in «Deviation amount» could also contain of for example bank fees.

[en] Example Calculation:

[en] Invoice amount: 1 250 EUR

[en] Exchange rate on Currency date: 11.7293

[en] Invoice value in base currency: 1250 ×11.7293 = 14 661.63

[en] Amount received in the bank: 14 531

[en] Difference (Deviation Amount): 14 661.63−14 531=−130,63

[en]

Agioo7.png

[en] The user must decide how to post this deviation to the General Ledger (GL). This process is performed manually. The accounting for the above payment will look like this:

Agioo8.png
[en] ACD/EXCHANGE - Currency exchange

[en] GL account used when payments in foreign currency is posted to General Ledger:

  • [en] When payment and invoices/credit notes have different currencies, additional posting is made to balance out the GL postings.

  • [en] When a payment has many invoices and credits with different exchange rates, GL postings may not balance because of round offs on calculated average exchange rates. Additional posting for exchange rate difference is then made, if this difference is less than given in CompanySetting "MaxPaymentCurrencyDeviationOnLedgerSpecification".

[en] Example Impact on GL Account

[en] Scenario: Currency Deviations on Payments

  • [en] Calculate the invoice value from USD to the base currency (NOK):

  • [en] Based on the last day of the previous month: 6,600 USD×10.9139=72 031.74 NOK

  • [en] Based on Currency date: 6,600 USD×10.6225=70 108.50 NOK, Difference: 72,031.74−70,108.50=1 923.24 NOK

  • [en] Convert the NOK difference to EUR (PAY is for a Euro bank account): 1,923.24 NOK÷11.4258=168.32

[en] Postings to «ACC/8060»:
  • [en] When the amounts in USD and EUR are exchanged to NOK, two EUR postings are created because of the currency posting.

  • [en] Typically, only minor round-offs are posted to this account due to rounding of exchange rates and two-decimal resolution in GL.

    AGIO4.png
    AGIO5.png
    AGIO6.png

[en] The effect on ACC/8060 for this payment will be:

Agio9.png
[en] ACD/VATRATEADJ - Vat rate adjustment on Invoices and Credit Notes

[en] This GL account is used when VAT adjustments are needed due to differences between the VAT rate and the exchange rate on invoices or credit notes.

[en] Example Scenario:

  • [en] An inbound invoice (SIN) has a VAT rate (VATRATE) that differs from the exchange rate (RATE):

  • [en] RATE: 11.4258

  • [en] VATRATE: 11.2535

  • [en] VAT amount: 250 EUR

[en] Calculation:

  • [en] Convert VAT amount using RATE: 250 EUR×11.4258=2 856.45 NOK

  • [en] Convert VAT amount using VATRATE: 250 EUR×11.2535=2 813.375 NOK

  • [en] Difference: 2,856.45−2,813.375=43.08

[en] Accounting Impact:

[en] This difference of 43.08 NOK is posted to ACD/VATRATEADJ.

Agio10.png
Agio11.png

[en] The accounting will look like this:

Agio12.png