Wstęp
W związku z wprowadzeniem w wersji 2025.1 Comarch ERP XL obsługi kont walutowych\wielowalutowych zmieniona została logika generowania automatycznego Bilansu Otwarcia ( BOA) w stosunku do wersji wcześniejszych.
Nowa logika pozwala zachować powiązanie pomiędzy kwotą wyrażoną w walucie obcej a kwotą w walucie systemowej.
Działanie systemu w wersjach starszych niż 2025.1 ( do wersji Comarch ERP XL 2025.0 włącznie)
W wersji 2025.0 oraz w wersjach starszych, podczas przenoszenia Bilansu Zamknięcia (BZ) na Bilans Otwarcia (BO), nie funkcjonowały mechanizmy powiązań między pozycjami BO na kontach złotówkowych a odpowiadającymi im pozycjami na walutowych kontach pozabilansowych. W efekcie tego braku pozycje dla bilansu otwarcia były tworzone rozdzielnie – generowano je osobno dla wartości w PLN oraz osobno dla walut obcych.



Działanie od wersji Comarch ERP XL 2025.1
Począwszy od wersji 2025.1 wprowadzono mechanizm automatycznego wiązania tych pozycji. Należy jednak pamiętać o pewnych ograniczeniach wynikających ze struktury danych historycznych.
Obsługa powiązań w relacji jeden do jednego (1:1)
W przypadku powiązania konta złotówkowego (np. konta należącego do zespołu „2”) z pozabilansowym kontem walutowym (np. z zespołu „9”) w relacji 1:1, system przyjmuje założenie, że kwota w złotówkach w 100% wycenia kwotę zaewidencjonowaną w walucie obcej.
Przykład działania: Konto 203 (PLN) jest powiązane z kontem 903 (EUR) w prostej relacji 1:1.
Stary mechanizm (wersja 2025.0): Przeniesienie BZ na BO skutkowało powstaniem dwóch niezależnych od siebie pozycji – na koncie 203 generowano kwotę 4000 PLN, a na koncie 903 kwotę 1000 EUR.
Nowy mechanizm (wersja 2025.1): Jeżeli BO zostanie przeniesiony nową wersją systemu, w miejsce dwóch oddzielnych pozycji powstanie 1 zintegrowana pozycja. System prawidłowo zaimportuje 1000 EUR oraz 4000 PLN, a następnie na podstawie tych dwóch kwot automatycznie wyliczy kurs.
Analiza przypadku
Prześledźmy zachowanie systemu na przykładzie konta rozrachunkowego 203-K1, które jest ściśle powiązane z walutowym kontem pozabilansowym 903-K1. Zobaczmy, co się stanie, gdy na takim koncie wymieszamy zapisy walutowe z zapisami wyłącznie złotówkowymi.
Załóżmy, że na koncie 203-K1 zarejestrowano standardowe zapisy powiązane z walutowym kontem 903-K1, ale dodano do nich jeden, niepowiązany zapis wyłącznie w PLN na kwotę 4 600,00 PLN.

W rezultacie obroty po stronie bilansowej oraz pozabilansowej układają się następująco:
- Konto bilansowe (203-K1) – suma zapisów wynosi 9 700,00 PLN po stronie Dt oraz 4 100,00 PLN po stronie Ct.
- Konto pozabilansowe (903-K1) – po stronie Dt zaksięgowano 1 250,00 EUR (o równowartości 5 100,00 PLN), a po stronie Ct 1 000,00 EUR (o równowartości 4 100,00 PLN).
Łatwo zauważyć, że różnica po stronie Dt (między kontem bilansowym a pozabilansowym) wynosi równe 4 600,00 PLN. Wynika ona bezpośrednio z tego jednego, „czysto złotówkowego” zapisu, który nie miał swojego odpowiednika w walucie obcej.

Stan na koniec roku i problem w Bilansie Otwarcia
Z powyższych obrotów wynikają następujące salda końcowe:
- Saldo na koncie 203-K1 wynosi: 5 600,00 PLN.
- Saldo na koncie 903-K1 wynosi: 250,00 EUR.

Problem ujawnia się na przełomie roku, podczas przenoszenia Bilansu Zamknięcia (BZ) na Bilans Otwarcia (BO). System, widząc te wartości, przypisze całe saldo złotówkowe do pozostałego salda walutowego.
W efekcie na nowym dokumencie BOA, kwota 250,00 EUR zostanie błędnie wyceniona na aż 5 600,00 PLN, zamiast na poprawne 4 000,00 PLN.

Rekomendacja
Biorąc pod uwagę ryzyko zniekształcenia wyceny na przełomie roku, zdecydowanie odradzamy księgowanie operacji wyłącznie w złotówkach (PLN) na tradycyjnych kontach walutowych, które wymagają stosowania kont pozabilansowych. Jeżeli specyfika Twojej firmy wymaga rejestrowania na jednym koncie rozrachunkowym zarówno transakcji walutowych, jak i czysto złotówkowych, najbezpieczniejszym i w pełni zautomatyzowanym rozwiązaniem jest przejście na nowy typ konta wielowalutowego. Eliminuje ono całkowicie problem niespójności sald i gwarantuje poprawne wyliczenie Bilansu Otwarcia.
Ograniczenia dla relacji jeden do wielu (1:n)
Nowy mechanizm integracji nie ma zastosowania dla Bilansów Otwarcia generowanych na podstawie BZ z wersji starszych niż 2025.1, w przypadku kont powiązanych w relacji jeden do wielu (1:n).
Skutek: W systemie brakuje precyzyjnych informacji pozwalających na jednoznaczne określenie, w jakiej konkretnej wartości złotowej (PLN) wyceniana jest dana kwota cząstkowa zewidencjonowana w walucie obcej.
Zmiany w wersji Comarch ERP XL 2026.0 względem wersji 2025.1
W bazie danych, w tabeli CDN.Dekrety, kwoty zapisywane są jednocześnie w walucie transakcji (walucie konta) oraz w walucie systemowej. W przypadku kont złotówkowych powiązanych z walutowymi kontami pozabilansowymi, walutą konta i transakcji jest zawsze PLN. Do tej pory generowane przez system różnice kursowe wpływały wyłącznie na walutę systemową, a nie na walutę transakcji. Z tego powodu podczas przenoszenia BZ na BO, nawet jeśli saldo na koncie wynosiło dokładnie 0,00, system automatycznie generował techniczne zapisy korygujące (in plus oraz in minus), odpowiadające wartości tych różnic kursowych.
Dzięki zmianom wprowadzonym w wersji Comarch ERP XL 2026.0, w przypadku pełnego rozliczenia zapisów na kontach powiązanych, system nie tworzy już korygujących zapisów technicznych z tytułu różnic kursowych (RK in plus oraz RK in minus).


Wyjątek – zachowanie przy relacji jeden do wielu (1:n)
Zapisy techniczne nadal będą powstawać w przypadku powiązań w relacji 1:n. Wynika to ze wspomnianego wcześniej braku szczegółowych powiązań między historycznymi zapisami na koncie złotówkowym a zapisami na poszczególnych kontach walutowych. Sytuacja ta jest bezpośrednim skutkiem zaszłości historycznych powstałych przy migracji ze starszych wersji systemu.
Analiza przypadku dla relacji 1:n w praktyce
Prześledźmy zachowanie systemu, na przykładzie konta 204-K2 powiązanego z dwoma kontami pozabilansowymi: 904EUR-K2 i 904USD-K2.
Stan w BO 2025 (przeniesiony starą wersją):
- Na koncie 204-K2 istnieje zapis na 7900 PLN.
- Na koncie 904EUR-K2 istnieje zapis na 1000 EUR.
- Na koncie 904USD-K2 istnieje zapis na 1000 USD.
- Diagnoza: Brak jest możliwości automatycznego określenia, ile złotówek przypada na kwotę w walucie EUR, a ile na kwotę w USD.


Zapisy bieżące wprowadzone w 2025 r.:
- Wprowadzono zapis na koncie 204-K2 w powiązaniu z kontem 904EUR-K2 na kwoty: 8000 PLN / 2000 EUR (co daje kurs 1:4).

Przeniesienie BZ 2025 na BO 2026:
System w tym przypadku przeniesie na BO 2026 następujące dane:
- Zapis na koncie 204-K2 na kwotę 7900 PLN zostanie wykazany jako pozycja niepowiązana z walutą.

- Zapis na koncie 204-K2 powiązany z 904EUR-K2 zostanie przypisany do kwoty 8000 PLN. Do tej pozycji system przypisze całą zebraną kwotę w walucie EUR, w tym przypadku 3000 EUR. (Składają się na nią: 1000 EUR z BO 2025 + 2000 EUR z zapisu bieżącego w 2025 r.).

- Zapis na koncie 904USD-K2 pozostanie na kwotę 1000 USD, ponieważ brak było zapisów bieżących korygujących tę wartość w 2025 r.


Analiza kolejnego przypadku: Zapis bieżący wprowadzony po przeciwnej stronie (Ct)
Przeanalizujmy modyfikację poprzedniego scenariusza. Założenia pozostają podobne z tą różnicą, że nowy zapis bieżący w 2025 roku został wprowadzony po przeciwnej stronie konta (Ma / Ct).
Zdarzenia w roku obrachunkowym 2025:
- Wprowadzono zapis na koncie 204-K2, w powiązaniu z kontem 904EUR-K2, po stronie Ct na kwoty: 8000 PLN / 2000 EUR (co daje bieżący kurs 1:4).
- W efekcie saldo (per saldo) na koniec 2025 r. na koncie 204-K2 wynosi 100 PLN po stronie Ct (wynik zderzenia zaszłości 7900 PLN Dt z nowym zapisem 8000 PLN Ct).
Przeniesienie BZ 2025 na BO 2026:
Podczas generowania Bilansu Otwarcia system dąży do skonsolidowania pozycji, zachowując zgodność salda i walut. W tym przypadku przeniesie na BO 2026 następujące dane:
- Storno zaszłości historycznej: Zapis na koncie 204-K2 wykazany na kwotę 7900 PLN (niepowiązany historycznie z walutą obcą) zostanie automatycznie wystornowany. System wygeneruje techniczną pozycję korygującą (np. jako ujemną kwotę po stronie Ct), aby zniwelować ten osierocony zapis.

- Agregacja na nowym zapisie (EUR): Na miejsce wystornowanej kwoty wejdzie zapis z 2025 r. powiązany z walutą EUR na kwotę 8000 PLN (Ct). System przypisze do niego całą wyliczoną z sald wartość waluty EUR – w tym przypadku 1000 EUR. Skutkuje to matematycznym, sztucznym wyliczeniem kursu dla tej pozycji w BO na poziomie 8,0000 PLN za 1 EUR (8000 PLN / 1000 EUR).

- Pozostawienie zaszłości (USD): Zapis techniczny na koncie 904USD-K2 pozostanie bez zmian na kwotę 1000 USD, ponieważ w 2025 r. nie wprowadzono żadnych bieżących zapisów, które mogłyby skorygować lub skompensować tę wartość.


Rekomendacja
Aby zapewnić poprawną wycenę sald początkowych na kontach walutowych (np. w EUR i USD), zalecamy jednorazową, ręczną korektę dokumentu Bilansu Otwarcia (BOA/BOAK). Uporządkowanie tych danych na tym etapie zagwarantuje bezproblemowe i w pełni zautomatyzowane przenoszenie bilansów na kolejne lata obrotowe w przyszłości. Dla przypomnienia, w naszym wcześniejszym przykładzie: saldo 1000 EUR odpowiada wartości 4000 PLN, natomiast 1000 USD to 3900 PLN. Poniżej instrukcja, jak krok po kroku poprawnie skorygować walutowy Bilans Otwarcia:
Krok 1. Cofnięcie dokumentu do bufora
Otwieramy zatwierdzony dokument Bilansu Otwarcia. W sekcji Status zaznaczamy opcję Bufor i zapisujemy zmiany (ikona dyskietki). Następnie ponownie otwieramy ten sam dokument do edycji, aby móc nanieść odpowiednie kwoty.
![Dokument BOA, zakładka [Ogólne]](https://pomoc.comarch.pl/xl/wp-content/uploads/2026/07/word-image-68855-90.png)
Krok 2. Edycja pozycji Bilansu Otwarcia
Przechodzimy na zakładkę [Pozycje]. Odszukujemy na liście i otwieramy do edycji (dwukrotnym kliknięciem lub ikoną lupy) tę pozycję, która wymaga korekty wyceny.
W omawianym przykładzie będzie to zapis dotyczący salda na koncie rozrachunkowym 204-K2 oraz powiązane z nim zapisy na walutowych kontach pozabilansowych.

Krok. 3 Korekta subpozycji
Na formularzu szczegółów wybranej pozycji BO (np. dla konta 204-K2) znajdziemy rozbicie na subpozycje.

Należy je zmodyfikować według poniższego schematu:
- Usuwamy zapis w PLN– kasujemy subpozycję wyrażoną wyłącznie w walucie systemowej (w naszym przykładzie będzie to pozycja Lp. 3 na kwotę -7 900,00 PLN).
- Korygujemy wycenę na pozycjach walutowych – otwieramy do edycji pozostałe subpozycje powiązane z walutą obcą (w tym przypadku Lp. 1 i 2). Skoro kwota w walucie obcej jest już wprowadzona, aktualizujemy kurs waluty. System na jego podstawie prawidłowo wyliczy i przypisze wartość w PLN.



Krok 4. Weryfikacja salda końcowego (Per saldo)
W efekcie wprowadzonych zmian, zamiast trzech niespójnych rozbić, pozostaną tylko dwie prawidłowe pozycje. Będą one stanowić czystą wycenę waluty obcej w walucie systemowej.
![Dokument BOA, formularz Pozycji, zakładka [Kwoty]](https://pomoc.comarch.pl/xl/wp-content/uploads/2026/07/word-image-68855-96.png)
Upewniamy się, że po usunięciu i modyfikacji subpozycji, całkowita wartość w kolumnie Per saldo dla modyfikowanego konta pozostała dokładnie taka sama jak przed korektą.




