Добрый день! Подскажите, на сколько правльно поведение системы в случае расчета НДС при положительной курсовой разнице.
AX 2009 RU5. Расчеты с клиентами:
14.02.2011 НКЛ1 открытая накладная на сумму 0.72 EUR
31.03.2011 НРКР1 расчет нереализованной к/р 0.19 RUB (положительная к/р)
04.04.2011 ОПЛ1 оплата накладной на сумму 28.94 RUB
При сопоставлении (крайняя дата) возникает положительная курсовая разница 0.31 RUB, которая должна отвестись на счет 91.01 и, с которой, должен начислиться НДС: 0,31*18/118 = 0,05 RUB на счет 91.05:
Дт 91.05 Кт 68 0.05 RUB - это НДС
Дт 62 Кт 91.01 0.31 RUB - это сумма к/р
Но система при расчете курсовой разницы учитывает еще и сумму нереализованной к/р: 0,31-0,19= 0,12 В результате получается:
Дт 91.05 Кт 68 0.05 RUB - это НДС
Дт 62 Кт 91.01 0.12 RUB - это сумма к/р
Сумма НДС расчитывается исходя из суммы 0,31, а на 91.01 отводится сумма с учетом нереализованной к/р (0,12 RUB).
В классе CustVendExchAdjustment_W в методе getPostingAmountTax всегда возвращается сумму курсовой разницы по накладной:
X++:
protected container getPostingAmountTax(AmountMST _exchRateDiff,
AmountMST _standardExchRateDiff,
LedgerPostingType _posting,
LedgerPostingType _standardPosting)
{
AmountMST exchRateDiff;
LedgerPostingType posting;
;
//if (custVendSettle.isExchAmountDiff_RU())
//{
// it doesn't matter what kind of difference we post
// VAT is always calculated from standard difference amount (from invoice exchange rate)
// AXSE_3222
exchRateDiff = _standardExchRateDiff;
posting = _standardPosting;
/*}
else
{
exchRateDiff = _exchRateDiff;
posting = _posting;
}*/
return [exchRateDiff, posting];
}
Но даже убрав комментарии, все-равно в данном примере сумма НДС будет расчитываться исходя из курсовой разницы по накладной (0,31 RUB).