Wersja: 1.4.5, Dolibarr 24.0.1
Przy imporcie linia faktury w dolibarr budowana jest z P_9A × P_8B. Ale na fakturze występuje też zadeklarowana wartość P_11.
Gdy sprzedawca wystawia fakturę od brutto, P_9A bywa zaokrąglone do grosza i po przemnożeniu przez sztuki te liczby się różnią.
Przykład: pozycja P_8B=2, P_9A=15.63, P_11=31.27 (rzeczywista cena to 19,23 ÷ 1,23 = 15,6341…). Faktura deklaruje P_13_1=45.69, P_15=56.20. Po imporcie w Dolibarze jest 45,68 / 56,19. Na karcie faktury blok płatności pokazuje 56,20 z XML-a, a podsumowanie 56,19. Skutek: wisząca nadpłata grosza i rozjazd kwot.
Przyczyna: class/ksef_incoming.class.php, do addline() trafia unit_price_net (P_9A), które może nie być podane z pełną dokładnością przez kontrahenta.
Propozycja (to tylko moja sugestia, może jest lepszy sposób,):
$xmlPrice = (!$this->isNullOrBlank($line['net_amount'] ?? null) && $qty != 0)
? (float)$line['net_amount'] / $qty
: (float)($line['unit_price_net'] ?? 0);
Może zrobic tak jak przy braku P_9A ?
Albo chcociaż komunikat przy tworzeniu faktury żeby poprawić sobie ręcznie pozycje.
FA(3) dopuszcza w P_9A osiem miejsc po przecinku, więc P_8B × P_9A nie musi być równe P_11.
Wersja: 1.4.5, Dolibarr 24.0.1
Przy imporcie linia faktury w dolibarr budowana jest z
P_9A × P_8B. Ale na fakturze występuje też zadeklarowana wartośćP_11.Gdy sprzedawca wystawia fakturę od brutto,
P_9Abywa zaokrąglone do grosza i po przemnożeniu przez sztuki te liczby się różnią.Przykład: pozycja
P_8B=2,P_9A=15.63,P_11=31.27(rzeczywista cena to 19,23 ÷ 1,23 = 15,6341…). Faktura deklarujeP_13_1=45.69,P_15=56.20. Po imporcie w Dolibarze jest 45,68 / 56,19. Na karcie faktury blok płatności pokazuje 56,20 z XML-a, a podsumowanie 56,19. Skutek: wisząca nadpłata grosza i rozjazd kwot.Przyczyna:
class/ksef_incoming.class.php, doaddline()trafiaunit_price_net(P_9A), które może nie być podane z pełną dokładnością przez kontrahenta.Propozycja (to tylko moja sugestia, może jest lepszy sposób,):
Może zrobic tak jak przy braku
P_9A?Albo chcociaż komunikat przy tworzeniu faktury żeby poprawić sobie ręcznie pozycje.
FA(3) dopuszcza w
P_9Aosiem miejsc po przecinku, więcP_8B × P_9Anie musi być równeP_11.